C 執行緒同步 (學習筆記)

2021-05-23 06:36:51 字數 896 閱讀 9334

1. 利用mutex 互斥物件

2. 利用event 事件物件

3. 利用臨界區 critical_section 效率更高

4. 利用semaphore訊號量

/** filename: semaphore_test.cpp

* author: jarvischu

* date: 2012-11-22

*///#include #include #include using namespace std;

dword winapi fun1proc(

lpvoid lpparameter);

dword winapi fun2proc(

lpvoid lpparameter);

dword winapi fun3proc(

lpvoid lpparameter);

volatile int tickets = 100;

handle hsemaphore;

int main()

{ //必須先create semaphore 然後createthread

hsemaphore = createsemaphore(null,

1,//初始資源數 互斥的情況下必須為1

3,//最大資源數,互斥的情況下意義不大

null //unnameed semaphore

);if(hsemaphore == null) cout<<"create semaphore failed!"<0)

cout<<"thread1 sailed ticket "<0)

cout<<"thread2 sailed ticket "<0)

cout<<"thread3 sailed ticket "<

C 執行緒同步筆記

多執行緒實現執行緒同步有三種方式 互斥物件 事件物件和關鍵 段。主要函式 示例 如下 include includedword winapi fun1proc lpvoid lpparameter 新執行緒1的入口函式宣告,函式的名稱fun1proc可任意取 dword winapi fun2pro...

學習筆記 執行緒間同步

執行緒間同步,需要等待。等待對於同步的重要性是不言而喻的。考慮乙個工廠的流水線,假設工序1和工序2沒有關聯,那麼找兩個工人各幹的就可以,這兩個工人都可以不認識對方。現在考慮的重點是工序1和工序2有關聯。那麼兩個工序就需要某種形式的溝通和同步。第一種情況 工序1進行到某個時間點時,需要工序2結束。1 ...

知了堂學習筆記 執行緒同步

鎖 保護資源 資源 衛生間 執行緒 上衛生間的人 鎖 衛生間的門 一把鎖只有一把鑰匙 只有執行完被鎖住的程式塊鑰匙才能被釋放 鎖保護誰 成員屬性 靜態成員屬性 鎖有幾種 this 當前物件的鎖 package thread public class thread 6 thread t2 new th...