C中的sleep()函数是主动等待还是被动等待?
因为它停止了线程的运行,所以它是否总是检查时间是否已过,如:
while(1){
//need to wake?
}
或者是被动的:
alarm(sec);
pause(); // wait for the alarm and sleeping?
系统是unix。
最佳答案
sleep
不是标准的c库函数。
如果您的平台有它,它几乎肯定会调用操作系统来挂起线程(也就是说,在您的符号中,是被动的)。
它不会采用while(1){}
类型的习惯用法,因为这会不必要地烧掉cpu。
关于c - 功能sleep()在被动状态下是主动的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37565439/