多執行緒程式設計5個建議。

2021-07-16 19:51:02 字數 1102 閱讀 6259

多執行緒。以下複製於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...