class thread是對執行緒的抽象。以下分別介紹thread是如何表示執行緒的大部分特徵的。
執行緒的執行體由乙個可執行(callable)物件來表示。這個執行體可以在thread建立的時候指定。thread建立完成後執行緒即啟動執行。
template
explicit thread(fn &&fn,args&&... args);
如果在建立thread的時候不指定,則該thread就沒有執行體,也就不會有執行緒被啟動。
thread()noexcept;
thread也可以移動構造,從另乙個已存在的thread獲得執行體,同時還接收執行緒狀態。相當於實際的執行緒換了個宿主。
thread(thread &&)noexcept;
thread不能賦值和拷貝。
thread(const thread &)=delete;
thread在建立的時候不具備分離屬性。成員函式detach可設定thread為分離的。
join用於阻塞當前執行緒等待thread執行完執行體。一般用於多執行緒之間進行同步。對於不具備分離屬性的執行緒必須要join,否則會導致terminal。
成員函式joinable用於檢測thread是否需要join。joinable為false的情況有3種:1.thread呼叫過detach; 2.thread已經join過; 3.thread為空。
成員函式get_id用於返回執行緒的控制代碼。get_id可能返回joinable為true的thread的id,joinable為false則返回 id().
以上就是標準庫thread的所有操作,所以thread不具備指定優先順序的功能。
thread的所有輔助函式位於std::this_thread命名空間中。
thread::id get_id()用於獲取當前執行緒id.
void yield()noexcept 用於退出本次執行,等待下次排程.
sleep_for(duration) 用於使當前執行緒阻塞乙個時間段
sleep_until(time_point) 用於使當前執行緒阻塞直到某個時間點
C 11標準庫thread簡介
1.建立執行緒物件 1 不代表任何執行執行緒的物件 thread noexcept 2 fn為可呼叫物件 函式 仿函式 過載 運算子的類 初始化為 class lame表示式 args為與之同步的一包引數列表 備註 類的成員函式作為可呼叫物件時,第一引數必須是該成員函式的位址,第二引數應為該類。仿函...
C 標準庫之
iomanip在c 程式裡面經常見到下面的標頭檔案 include io代表輸入輸出,manip是manipulator 操縱器 的縮寫 在c 上只能通過輸入縮寫才有效。dec 設定整數為十進位制 hex 設定整數為十六進製制 oct 設定整數為八進位制 setbase n 設定整數為n進製 n 8...
C 標準庫之cctype
c 語言下 標頭檔案 include 說明 字元處理庫 功能一 字元測試 1 函式原型均為int is x int 2 引數為int,任何實參均被提公升成整型 3 只能正確處理處於 0,127 之間的值 功能二 字元對映 1 函式原型為int to x int 2 對引數進行檢測,若符合範圍則轉換,...