日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Ubuntu C++ Thread Sleep

發布時間:2023/12/3 c/c++ 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu C++ Thread Sleep 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#include
#include <unistd.h>
using namespace std;
int main() {
cout << “nitrate”;
cout << flush;
usleep(1000000);
cout << “firtilizers”;
return 0;
}

usleep函數能把線程掛起一段時間, 單位是微秒(千分之一毫秒)。本函數可暫時使程序停止執行。參數 micro_seconds 為要暫停的微秒數(us)。
這個函數不能工作在windows 操作系統中。用在Linux的測試環境下面
見:usleep() 與sleep()類似,用于延遲掛起進程。進程被掛起放到ready queue。
是一般情況下,延遲時間數量級是秒的時候,盡可能使用sleep()函數。且此函數已被廢除,可使用nanosleep。如果延遲時間為幾十毫秒(1ms = 1000us),或者更小,盡可能使用usleep()函數。這樣才能最佳的利用CPU時間
該usleep()功能將導致調用線程暫停執行直到數微秒的實時參數指定了useconds或信號傳遞到調用線程,其作用是調用一個信號的捕獲功能或終止進程。暫停的時間可能比所要求的系統的其他活動的調度要長。
該useconds參數必須小于1000000。如果useconds值是0,則調用沒有影響。
如果一個sigalrm信號生成調用進程的執行過程中,如果usleep() sigalrm信號被忽略或無法交貨,這是未指定是否usleep()返回時的sigalrm預定的信號。如果信號是被封鎖,也未指定是否后尚未usleep()返回或是丟棄。
如果一個sigalrm信號生成調用進程執行usleep()期間,除了由于對alarm()事先打電話,如果sigalrm信號不被忽略或無法交貨,它是不確定的,是否有其他信號比造成任何影響usleep()返回。
如果信號捕捉功能的中斷usleep()檢查或變化的時間sigalrm將產生,與sigalrm信號相關的動作,或是否sigalrm信號被阻止從交貨,結果是不確定的。
如果信號捕捉功能的中斷usleep()和電話siglongjmp()或longjmp()恢復環境保存到usleep()呼叫之前,行動與sigalrm信號和時間,sigalrm信號將產生未指定。它還未指定是否sigalrm信號被阻斷,除非進程的信號屏蔽恢復作為環境的一部分。
實現可能限制定時器值的粒度。對于每個時間間隔定時器,如果請求的定時器值需要比實現支持細粒度的,實際的定時器的值將舍入為下一個支持的價值。
usleep()和任何以下之間的相互作用是不確定的:

總結

以上是生活随笔為你收集整理的Ubuntu C++ Thread Sleep的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。