1.用乙個初始函式建立乙個執行緒
#include #includeview codeusing
namespace
std;
void
pinrtfun()
intmain()
2.用類物件建立乙個執行緒
#include #includeview codeusing
namespace
std;
class
subthread
void
operator
()()
private
:
intm_int;
};int
main()
3.用lambda表示式建立乙個執行緒
#include #includeview codeusing
namespace
std;
intmain()
; std::thread t1(mylamthread);
t1.join();
std::cout
<< "
主線程執行\n";
}
注意:
1.join()和detach()的區別:
join():主線程會等待子執行緒執行完才往下執行。
detach():子執行緒和主線程都獨立執行,相互不影響。當主線程執行完了,而子執行緒還沒執行完時,此時程式會報錯。
2.joinable(),這個函式用來判斷是否還可以使用join()和detach(),如果已經使用了join()或者detach(),則不能再使用detach()或者join()函式了,會返回乙個布林true,反之,返回乙個false。
C 執行緒的建立
當使用createprocess呼叫時,系統將建立乙個程序和乙個主線程。createthread將在 主線程的基礎上建立乙個新執行緒,大致做如下步驟 1在核心物件中分配乙個執行緒標識 控制代碼,可供管理,由createthread返回 2把執行緒 退出碼置為still active,把執行緒掛起計數...
C 建立執行緒
在window系統中編寫控制台程式,建立執行緒 使用createthread 函式建立,則執行緒函式必須申明為dword winapi 使用 beginthreadex 建立,則執行緒函式必須申明為unsigned int winapi 並需要設定環境 工程 設定 c c code generati...
c 建立執行緒
建立多引數的執行緒時,將方法要用到的引數及方法本身封裝到乙個類中,利用有參構造方法將引數的值傳入,因為方法在類內部,可以直接呼叫引數,最後用threadstart或parameterizedthreadstart委託呼叫方法。using system using system.threading n...