sleep()和timer哪个更好? 我需要用MFC做一个对话框,从一个文件夹里读取所有的图片,然后把图片一张一张的显示出来,每张显示100ms。 有现在用的是sleep(100)。 我想我也可以用设置一个timer来解决这个问题, SetTimer(1,100,NULL). 这两种方法哪个更好呢?请高手们赐教。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果在主线程中sleep的话窗口会假死的 sleep那是代表该线程自动放弃一段时间的时间片(在windows中,每个时间片时20ms),所以说楼主上面的sleep(100)代表该线程放弃100ms的时间片。这听上去不错,但实际上线程能否获得时间片依旧是个问题(这个进程和线程的优先级有关系),所以说楼主这个Sleep(100)实在有些保险,搞不好就sleep forever了。而timer则是硬件中断(误差应该在ms之内),依照楼主的情况,个人还是建议用SetTimer了。 我定义另外一个对话框CDlgShow m_show;然后再主对话框里 OnClickedStart()里面 叫m_show.ShowJPG(...) 程序运行正常。 您是说用timer会更好吗? 当然timer更好。当然sleep(100)也没问题,原因是100对人的感官没那么快,但sleep(100)就意味着你的主线程挂起100ms了,啥也不相应了! 线程中sleep应该更好吧。 一张显示100ms?你搞动画片啊?用sleep(100),你的窗口按钮什么的都用不了了哦,不过很快,你估计感觉不出来 我觉得差不多吧,用sleep的话就要自己再开个线程,用settimer的话呢,该WM_TIMER消息首先是个低优先级的,其次100ms的频率得不得保证一般是大约55ms的整数倍,这样响应的时间不一定正确 我是要做一个实验,测人看到熟悉的照片脑电波变化。每张照片显示100ms。 我现在用的是settimer。 谢谢个位大侠的帮助呀。。小弟刚入门,请多多关照,哈哈。。大家假期快乐。。 timer好,语义上就是定时触发切换照片的事件,用sleep不好 用定时器更好,因为定时器相当于多线程,在时间点没触发的其他时间可以执行主线程,如果sleep是挂起线程,如果sleep在主线程里,会造成程序挂起,是程序死掉。 建议用timersleep会假死,用户点不了按钮就不好了吧~ 如何模拟键盘输出多个字符呢 100万条记录,怎么分页最有效率(MSSQL),找了好几个分页算法,都在30秒以上, 怎么删除二维数组变量 紧急求救!!在Direct3D9 的全屏独占模式下用DirectShow播放视频,视频总是闪烁. 图标问题 投诉版主 如何实现记事本功能? 内联汇编出错,请大夏帮我看看 一个超级奇怪的简单问题 ***+-------------- 征集 ActiveX 控件源代码,高分相赠 ----------+*** VC2005中类型转换 <急啊,帮下忙!>mfc怎样实现一个对话框向主对话框发送消息??
sleep(100)代表该线程放弃100ms的时间片。这听上去不错,但实际上线程能否获得时间片依旧是个问题(这个进程和线程的优先级有关系),所以说楼主这个Sleep(100)实在有些保险,搞不好就sleep forever了。
而timer则是硬件中断(误差应该在ms之内),依照楼主的情况,个人还是建议用SetTimer了。
然后再主对话框里 OnClickedStart()里面 叫m_show.ShowJPG(...) 程序运行正常。
您是说用timer会更好吗?
用sleep(100),你的窗口按钮什么的都用不了了哦,不过很快,你估计感觉不出来
我是要做一个实验,测人看到熟悉的照片脑电波变化。每张照片显示100ms。 我现在用的是settimer。 谢谢个位大侠的帮助呀。。小弟刚入门,请多多关照,哈哈。。大家假期快乐。。
sleep会假死,用户点不了按钮就不好了吧~