c語言u(píng)sleep函數(shù) nanosleep小延時(shí)不能實(shí)現(xiàn),這個(gè)函數(shù)跟select,sleep用什么區(qū)別?
nanosleep小延時(shí)不能實(shí)現(xiàn),這個(gè)函數(shù)跟select,sleep用什么區(qū)別?Linux中時(shí)間相關(guān)函數(shù)的精度基于Linux內(nèi)核中的jiffies,jiffies取決定系統(tǒng)可編程定時(shí)器的值,即Hz,這
nanosleep小延時(shí)不能實(shí)現(xiàn),這個(gè)函數(shù)跟select,sleep用什么區(qū)別?
Linux中時(shí)間相關(guān)函數(shù)的精度基于Linux內(nèi)核中的jiffies,jiffies取決定系統(tǒng)可編程定時(shí)器的值,即Hz,這在Linux中很常見X86的Hz值為100,即每秒振動(dòng)10次,因此精度為10ms。因此,OS時(shí)間的最高精度只能是10ms,無論是使用nanosleep還是select,最高精度只能是10ms
如果想獲得更高精度的時(shí)間,需要訪問時(shí)鐘的RTC寄存器。在Linux中,您可以通過IOCTL訪問/dev/RTC
通過調(diào)用自定義函數(shù)來消耗時(shí)間:functionsleep(numbermilis){varnow=newdate()varexittime=現(xiàn)在。開始()numberMilliswhile(true){now=newDate()如果(現(xiàn)在。開始()>exittime)return}}上面的函數(shù)實(shí)現(xiàn)numbermilis事件之后的返回。
在js或as中怎么實(shí)現(xiàn)sleep函數(shù)的功能?
這是ES6的實(shí)現(xiàn)
函數(shù)sleep(time){
return new promise((resolve)=>{
setTimeout(()=>{
resolve()]},time)
//wait 1000 MS