使用c++可以讓程式交替執行兩個程式,基於程序的多工處理和同一程式片段的併發執行。
此外,筆者在進行多執行緒程式設計中使用的是linux作業系統。
首先,可以建立乙個執行緒。
#include
pthread_create (thread, attr, start_routine, arg)
thread是指向執行緒識別符號的指標。比如執行緒的tid的位址。
attr可以用來設定執行緒屬性,可以指定執行緒屬性物件,也可以使用預設值null。
start_routine 執行緒執行函式起始位址,一旦執行緒被建立就會執行,這個為函式指標。
arg為執行函式的引數。必須通過把引用作為指標強制轉化為void型別進行傳遞。如果沒有傳遞引數就使用null。
如果建立執行緒成功,函式就返回0,如果返回不是0就會建立失敗。
終止執行緒:
pthread_exit(status)用於顯式的退出乙個執行緒,當執行緒完成工作時不需要存在時被呼叫。
先touch乙個檔案,再用vim編譯器編譯,
再用 -lpthread庫編譯這個程式:
g++ test.cpp -lpthread -o test.o
將其轉化為可執行檔案,然後
./test.o
最後輸出為
這個建立了5個執行緒,並接受輸入的引數。
C 多執行緒程式設計
一 thread 基礎 程序 當乙個程式開始執行時,它就是乙個程序,程序包括執行中的程式和程式所使用到的記憶體和系統資源。而乙個程序又是由多個執行緒所組成的。執行緒 執行緒是程式中的乙個執行流,每個執行緒都有自己的專有暫存器 棧指標 程式計數器等 但 區是共享的,即不同的執行緒可以執行同樣的函式 方...
C 多執行緒程式設計
乙個程序通常定義為程式的乙個例項。在win32中,程序佔據4gb的位址空間。與它們在ms dos和16位windows作業系統中不同,win32程序是沒有活力的。這就是說,乙個win32程序並不執行什麼指令,它只是佔據著4gb的位址空間,此空間中有應用程式exe檔案的 和資料。exe需要的任意dll...
C 多執行緒程式設計
建立執行緒的函式 handle createthread lpsecurity attributes lpthreadattributes,使用預設安全形態,設為null,表明不可被子執行緒繼承 size t dwstacksize,初始棧大小,預設值0表示使用與呼叫該函式的執行緒相同的棧大小 lp...