033 C 多執行緒的簡介及2個應用例項

2021-10-07 11:06:10 字數 1417 閱讀 7861

感謝這兩位博主的部落格,給我很大啟發:

① c++多執行緒程式設計,最簡單,最直接,最好學

② c++多執行緒程式設計(真實入門!)

① 例1,兩個執行緒並行執行,使用「執行緒鎖mutex」為各執行緒安排執行優先順序:

#include #include //不要忘記包含標頭檔案windows

//在這宣告乙個全域性的鎖,鎖在哪個執行緒,就優先保證該執行緒的執行

handle g_mutex = createmutex(null, false, null);

//使用dword winapi定義乙個執行緒

dword winapi function(lpvoid lpparam)

return 0; //執行緒遇到return 0就能正確結束執行緒

}int main()

closehandle(funthread); //funthread是控制代碼資源,十分珍貴。可以理解為指向執行緒的指標。

//控制代碼若不關閉,則系統資源會被耗盡。它的釋放與執行緒無關。只是在建立的時候需要讓它指向所建立的執行緒。

while (1)

}

執行結果:

main thread is running!

function thread is running!

main thread is running!

function thread is running!

main thread is running!

function thread is running!

main thread is running!

function thread is running!

...

② 例2,建立多個執行緒,每個執行緒都有引數傳入:

#include #include //不要忘記包含標頭檔案windows

using namespace std;

handle cout_mutex;

//建立執行緒

dword winapi mythread(lpvoid lpparamter)

//主函式

int main()

//system("pause");

return 0;

}

執行結果:

it's 0 thread!

it's 1 thread!

it's 2 thread!

it's 3 thread!

it's 4 thread!

it's 5 thread!

it's 6 thread!

it's 7 thread!

it's 8 thread!

it's 9 thread!

C 多執行緒的乙個簡單應用(C 多執行緒相關)

開的執行緒要放在主線程邏輯前否則並不會利用好主線程資源 用join來等待執行緒結束 可以通過mainthreadid std this thread get id 來獲取主函式id,通過auto id s.get id 來獲取子執行緒id,判斷兩個id來確定自己當前函式是執行在主線程還是分執行緒 f...

程序 執行緒簡介及多執行緒的優缺點

先介紹下程序 執行緒 多執行緒,再總結下多執行緒的優缺點 程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,也就是應用程式的執行例項,程序是系統進行資源分配和排程的乙個獨立單位。每個程序是由私有的虛擬位址空間 資料和其它各種系統資源組成,程序在執行過程中建立的資源隨著程序的終止而被銷毀,...

C 關於多執行緒及執行緒同步 lock鎖的應用

form1.cs using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using syst...