多執行緒。以下複製於ibm技術如文件。
詳情可以去linux多執行緒開發經驗。
多執行緒開發在 linux 平台上已經有成熟的 pthread 庫支援。其涉及的多執行緒開發的最基本概念主要包含三點:執行緒,互斥鎖,條件。其中,執行緒操作又分執行緒的建立,退出,等待 3 種。互斥鎖則包括 4 種操作,分別是建立,銷毀,加鎖和解鎖。條件操作有 5 種操作:建立,銷毀,觸發,廣播和等待。其他的一些執行緒擴充套件概念,如訊號燈等,都可以通過上面的三個基本元素的基本操作封裝出來。
執行緒,互斥鎖,條件在 linux 平台上對應的 api 可以用表 1 歸納。為了方便熟悉 windows 執行緒程式設計的讀者熟悉 linux 多執行緒開發的 api,我們在表中同時也列出 windows sdk 庫中所對應的 api 名稱。
表 1. 執行緒函式列表
物件操作
linux pthread api
windows sdk 庫對應 api
執行緒建立
pthread_create
createthread
退出pthread_exit
threadexit
等待pthread_join
waitforsingleobject
互斥鎖建立
pthread_mutex_init
createmutex
銷毀pthread_mutex_destroy
closehandle
加鎖pthread_mutex_lock
waitforsingleobject
解鎖pthread_mutex_unlock
releasemutex
條件建立
pthread_cond_init
createevent
銷毀pthread_cond_destroy
closehandle
觸發pthread_cond_signal
setevent
廣播pthread_cond_broadcast
setevent / resetevent
等待pthread_cond_wait / pthread_cond_timedwait
singleobjectandwait
七 多執行緒程式設計5 建立多執行緒
到目前為止,我們僅用到兩個執行緒 主線程和乙個子執行緒。然而,你的程式可以建立所需的更多執行緒。例如,下面的程式建立了三個子執行緒 create multiple threads.class newthread implements runnable this is the entry point ...
c 多執行緒程式設計筆記5 完結
interlocked 使用於遞增 遞減以及更改變數值這類較為簡單的操作。如果所有的任務都是在同步上下文中的一些簡單操作,那麼 interlocked 類作為乙個非常便捷的方法,可以大大減少需要編寫的 量。筆者沒有在如下的試例程式中沒有感覺到它的功用,當然 也不排除筆者技術有限未能理解到設計者的心思...
c 11多執行緒併發程式設計學習 5 建立多執行緒
一.建立多個執行緒 1 include2 include3 include4 include5 using namespace std 6 7 void fun int i 執行緒執行函式 8 20 21 等待所有子執行緒結束,使用迭代器很方便 22 for auto iter threads.be...