c++有非阻塞非循环式延时的函数吗?
sleep函数暂停线程,但是有问题啊......我不想这么做,请问有别的办法吗?既可以不让程序卡死,又不使用while占用cpu的办法.网上有个XSleep,不知道谁写的...
sleep函数暂停线程,但是有问题啊......我不想这么做,请问有别的办法吗?
既可以不让程序卡死,又不使用while占用cpu的办法.
网上有个XSleep,不知道谁写的垃圾,不是一般的垃圾.我测试了下.延时10秒,循环1000次
I7 CPU直接100%....最后只能强制关机.
听说可以使用新线程,但是在主线程代码中间使用的延时,感觉其他方法都无济于事吧. 展开
既可以不让程序卡死,又不使用while占用cpu的办法.
网上有个XSleep,不知道谁写的垃圾,不是一般的垃圾.我测试了下.延时10秒,循环1000次
I7 CPU直接100%....最后只能强制关机.
听说可以使用新线程,但是在主线程代码中间使用的延时,感觉其他方法都无济于事吧. 展开
展开全部
“非阻塞”和“延时”这两个本来就是冲突启颤的吧。
不吞食CPU但是要让线程挂起一段时间,方法自然枯滑是要求操作系统在一段时间的线程调度内不要给当前线程分配时间片
“非阻塞悄败败”……
不吞食CPU但是要让线程挂起一段时间,方法自然枯滑是要求操作系统在一段时间的线程调度内不要给当前线程分配时间片
“非阻塞悄败败”……
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的这个问题是平台相关的。
linux平台 <unistd.h>
fork() 用来分进程,返回新进程的pid
新进程中 sleep(..) 用来阻塞暂停,
父进程可以用waitpid(..) 来阻塞式的接受子进程结束扒缓的信号
windows平台 <windows.h>
参阅WaitForSingleObject(,,,)函数
其它的跨平台包装,例如和此谨Qt,提供了更方便的信号与槽的方法。
将QTimer的结束事件连接到主工作类的work槽上即唤基可。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
linux平台 <unistd.h>
fork() 用来分进程,返回新进程的pid
新进程中 sleep(..) 用来阻塞暂停,
父进告誉肆程可以用waitpid(..) 来阻塞式的接受子进程结束的信号
windows平台 <windows.h>
参阅WaitForSingleObject(,,,)函数
其它的跨平台包装袜轿,例如Qt,提供了更方虚银便的信号与槽的方法。
将QTimer的结束事件连接到主工作类的work槽上即可。
fork() 用来分进程,返回新进程的pid
新进程中 sleep(..) 用来阻塞暂停,
父进告誉肆程可以用waitpid(..) 来阻塞式的接受子进程结束的信号
windows平台 <windows.h>
参阅WaitForSingleObject(,,,)函数
其它的跨平台包装袜轿,例如Qt,提供了更方虚银便的信号与槽的方法。
将QTimer的结束事件连接到主工作类的work槽上即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询