C 執行緒的建立

2022-05-08 14:36:11 字數 947 閱讀 4054

1.用乙個初始函式建立乙個執行緒

#include #include

using

namespace

std;

void

pinrtfun()

intmain()

view code

2.用類物件建立乙個執行緒

#include #include

using

namespace

std;

class

subthread

void

operator

()()

private

:

intm_int;

};int

main()

view code

3.用lambda表示式建立乙個執行緒

#include #include

using

namespace

std;

intmain()

; std::thread t1(mylamthread);

t1.join();

std::cout

<< "

主線程執行\n";

}

view code

注意:

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...