国产精品久久久一区二区三区,久久久久99精品国产片,成码无人av片在线电影网站,少妇高潮太爽了在线视频,精品亚洲一区二区99,杨幂国产精品一区二区,国产精品页,www.91在线播放

linux下nanosleep_&sleep_的區別|最新

來源:互聯網

你們好,今天小飯為大家帶來的是linux下nanosleep()&sleep()的區別,希望對你們有所幫助。


(資料圖)

用戶程序中的睡眠:

sleep() usleep() nanosleep()

sleep()和nanosleep()都是使進程睡眠一段時間后被喚醒,但是二者的實現完全不同。 Linux中并沒有提供系統調用sleep(),sleep()是在庫函數中實現的,它是通過調用alarm()來設定報警時間,調用sigsuspend()將進程掛起在信號SIGALARM上,sleep()只能精確到秒級上。

nanosleep()則是Linux中的系統調用,它是使用定時器來實現的,該調用使調用進程睡眠,并往定時器隊列上加入一個timer_list型定時器,time_list結構里包括喚醒時間以及喚醒后執行的函數,通過nanosleep()加入的定時器的執行函數僅僅完成喚醒當前進程的功能。系統通過一定的機制定時檢查這些隊列(比如通過系統調用陷入核心后,從核心返回用戶態前,要檢查當前進程的時間片是否已經耗盡,如果是則調用schedule()函數重新調度,該函數中就會檢查定時器隊列,另外慢中斷返回前也會做此檢查),如果定時時間已超過,則執行定時器指定的函數喚醒調用進程。當然,由于系統時間片可能丟失,所以nanosleep()精度也不是很高。

alarm()也是通過定時器實現的,但是其精度只精確到秒級,另外,它設置的定時器執行函數是在指定時間向當前進程發送SIGALRM信號。

復制代碼 代碼如下:

#include #include #include #include #include #define COUNT 1000 #define MILLION 1000000L

int main(void) { int i; struct timespec slptm; long tdif; struct timeval tend, tstart;

slptm.tv_sec = 0; slptm.tv_nsec = 1000; //1000 ns = 1 us

//struct sched_param param; //param.sched_priority = 0; //sched_setscheduler(getpid(), SCHED_FIFO, ¶m);

if (gettimeofday(&tstart, NULL) == -1) { fprintf(stderr,"Failed to get start time/n"); return 1; } for (i = 0; i < COUNT; i++) { if (nanosleep(&slptm, NULL) == -1) { perror("Failed to nanosleep"); return 1; } } if (gettimeofday(&tend, NULL) == -1) { fprintf(stderr,"Failed to get end time/n"); return 1; } tdif = MILLION * (tend.tv_sec - tstart.tv_sec) + (tend.tv_usec - tstart.tv_usec); printf("nanosleep() time is %ld us/n", tdif/COUNT); return 0; }

HZ 250HZ 時鐘中斷的時間間隔: 4 ms (1000ms/250) ---------------------------------------- nanosleep() time is 4019 us (4.019 ms) 說明nanosleep的睡眠定時器依賴于時鐘中斷

HZ 1000HZ 時鐘中斷的時間間隔: 1 ms ---------------------------------------- nanosleep() time is 12 us 注: 最小睡眠時間為1 us

通過上面的介紹,相信大家對于這個科技領域linux下nanosleep()&sleep()的區別也有了一定的了解了,希望小編精心整理的這篇內容能夠解決你的困惑。

標簽:

推薦

財富更多》

動態更多》

熱點

主站蜘蛛池模板: 国产亚洲成年网址在线观看| 一本色道av久久精品+网站| 亚洲国产精品久久久久婷婷软件| 狠狠色丁香婷婷久久综合不卡| 久久视频这里只精品10| 国产高清不卡一区二区| 精品国产不卡在线观看免费| 伊在人亚洲香蕉精品区麻豆| 亚洲国产av无码一区二区三区| 亚洲综合图片区自拍区| 成人爽a毛片免费视频| 久久精品成人免费国产片小草 | 国产精品久久久久久久久岛| 国产精品自产拍在线观看免费| 天天综合网在线观看视频| 中文字字幕人妻中文| 亚洲精品无码av人在线观看国产| 国产日产高清欧美一区| 亚洲精品第一国产综合麻豆| 久久综合色鬼综合色| 天堂va欧美ⅴa亚洲va在线| 少妇爆乳无码av无码专区| 在线综合亚洲欧美网站| 亚洲欧洲美洲在线观看| 99在线精品视频在线观看| 男人的天堂免费一区二区视频 | 国产清纯在线一区二区www| 日韩精品无码久久久久久| 亚洲毛片无码专区亚洲a片| 亚洲色无码专区在线观看| av无码动漫一区二区三区精品| 色欲a∨无码蜜臀av免费播| 亚洲另类春色校园小说| 亚洲国产精品无码中文lv| 人妻无码中文字幕一区二区三区 | 无码乱码天天更新| 色悠久久久久综合欧美99| 亚洲综合无码精品一区二区| 亚洲精品久久66国产高清| 久久午夜无码鲁丝片直播午夜精品 | 久久www成人免费看|