为什么要用睡觉而不是睡觉

Loa*_*awy 5 c multithreading sleep usleep

我正在阅读应用程序代码,引起了我的注意.代码是:usleep(6*1000*1000).我知道他们使用这种格式来解决可读性问题.

我认为无论是sleepusleep使用nanosleep功能,所以我的问题是:为什么不使用的睡眠(6)不完全一样的东西(如:睡眠时间为6秒)?我们使用时是否获得了性能usleep?是usleep更"通用"?

Joh*_*ger 8

我认为睡眠和睡眠都使用纳米睡眠功能,

他们可能会,或者他们可能没有.对于这个假设,我不知道C和POSIX标准中有任何理由.

所以我的问题是:为什么不使用完全相同的睡眠(6)(即:睡6秒)?当我们使用usleep时,我们是否获得了性能?我们睡得更"通用"吗?

sleep()函数起源于AT&T Unix版本7.该usleep()函数起源于BSD 4.3.虽然POSIX标准化了两者的特征混合,但有一段时间你可能只有两个中的一个可用,哪一个是你特定的Unix风格的功能.

如今,usleep()已经过时,并已从POSIX中删除.它仍然得到广泛支持,但nanosleep()(或sleep())应该在新代码中使用.