c++ 線程間通信方式可分為兩大類:
- 兩個進程中的兩個線程通信方式
- 信號量, socket網絡連接, 共享內存 ,管道,共享文件
- 一個進程中的兩個線程間通信方式
- 互斥鎖
- 條件變量
- 信號量
- 讀寫鎖shared_lock???什么鬼
互斥鎖:顧名思義,在構造函數中加鎖,在析構函數中解鎖,是為上鎖而優化的。
條件變量:可讓等待共享數據的線程休眠,並在共享數據條件達成時將休眠的線程喚醒,是一種更高效的線程同步方式。一般與互斥鎖結合使用。是為等待優化的。
信號量:既可用於上鎖,又可用於開鎖,因此功能強大的同時會產生更大的開銷以及更高的復雜性。