多執行緒常用函式

lethe1203發表於2024-04-04
在 Linux 多執行緒程式設計中,有一些常用的函式和相關概念。這裡做個記錄方便查詢:
pthread_create: 建立執行緒。
該函式的原型為 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg),
其中 thread 是用於儲存新執行緒識別符號的變數,attr 是用於指定執行緒屬性的引數(通常為 NULL),start_routine 是新執行緒要執行的函式,arg 是傳遞給 start_routine 的引數。

pthread_join: 等待執行緒結束。
該函式的原型為 int pthread_join(pthread_t thread, void **retval),用於等待指定執行緒結束執行。
thread 引數是要等待的執行緒識別符號,retval 引數用於儲存執行緒的返回值。

pthread_exit: 終止執行緒。
該函式的原型為 void pthread_exit(void *retval),用於線上程執行過程中退出執行緒。
retval 引數是執行緒的返回值。

pthread_cancel: 取消執行緒。
該函式的原型為 int pthread_cancel(pthread_t thread),用於請求取消指定執行緒的執行。

pthread_mutex_init, pthread_mutex_destroy: 初始化和銷燬互斥鎖。這兩個函式分別用於建立和銷燬互斥鎖。

pthread_mutex_lock, pthread_mutex_unlock: 加鎖和解鎖互斥鎖。這兩個函式分別用於對互斥鎖進行加鎖和解鎖操作。

pthread_cond_init, pthread_cond_destroy: 初始化和銷燬條件變數。這兩個函式分別用於建立和銷燬條件變數。

pthread_cond_wait, pthread_cond_signal, pthread_cond_broadcast: 等待、訊號和廣播條件變數。這些函式用於等待條件變數的狀態發生變化、傳送訊號以及廣播訊號給等待該條件變數的所有執行緒。

pthread_attr_init, pthread_attr_destroy, pthread_attr_setdetachstate: 初始化、銷燬執行緒屬性和設定執行緒分離狀態。這些函式用於設定執行緒的屬性,如執行緒的分離狀態等。

相關文章