延时大家都用什么方法阿?

donwmufromdying 2006-10-17 02:49:51
用Sleep(milliseconds)太影响系统性能了!
还有其他方法吗?
...全文
235 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cczlp 2006-10-18
  • 打赏
  • 举报
回复
没有比Sleep 对性能影响更小的方法, 如果Sleep影响性能, 那么其它方法更是垃圾了.

在Sleep内部, 系统会让出CPU时间给其它的线程和进程, 而不是一直死循环似的赖着占CPU不走.

Sleep的缺点是不够精确(不见得比GetTickCount()精度高),阻塞使用者线程(因为CPU时间已经让出了).
donwmufromdying 2006-10-18
  • 打赏
  • 举报
回复
DWORD tStart = GetTickCount();
do{
Application->ProcessMessages();
//
}while(GetTickCount()-tStart>milliseconds)

这个有创意!用TickCount来处理,就是不知道平凡ProcessMessage切换消息处理会不会
CPU.....
jiangshx 2006-10-17
  • 打赏
  • 举报
回复
汗,应该是小于号!
DWORD tStart = GetTickCount();
do{
Application->ProcessMessages();
//
}while(GetTickCount()-tStart<milliseconds)
jiangshx 2006-10-17
  • 打赏
  • 举报
回复
DWORD tStart = GetTickCount();
do{
Application->ProcessMessages();
//
}while(GetTickCount()-tStart>milliseconds)
do2008 2006-10-17
  • 打赏
  • 举报
回复
多写一些垃圾语句,也是一种的话
daydayup234 2006-10-17
  • 打赏
  • 举报
回复
死循环也算一种的话
LuoGD 2006-10-17
  • 打赏
  • 举报
回复
wait

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧