Linux多執行緒 執行緒函式

2021-09-21 02:54:44 字數 1577 閱讀 3812

posix執行緒(posix threads)是執行緒的posix標準。該標準定義了建立和操縱執行緒的一整套api。在類unix作業系統(unix、linux、mac os x等)中,都使用pthreads作為作業系統的執行緒。windows作業系統也有其移植版pthreads-win32。

執行緒庫實行了posix執行緒標準通常稱為pthreads。posix執行緒具有很好的可移植性,pthreads定義了一套c語言的型別、函式與常量,它以pthread.h標頭檔案和乙個執行緒庫實現。

資料型別:

pthread_t:執行緒id

pthread_attr_t:執行緒屬性

執行緒函式:

pthread_create():建立乙個執行緒

pthread_exit():終止當前執行緒

pthread_cancel():中斷另外乙個執行緒的執行

pthread_join():阻塞當前的執行緒,直到另外乙個執行緒執行結束

pthread_attr_init():初始化執行緒的屬性

pthread_attr_setdetachstate():設定脫離狀態的屬性(決定這個執行緒在終止時是否可以被結合)

pthread_attr_getdetachstate():獲取脫離狀態的屬性

pthread_attr_destroy():刪除執行緒的屬性

pthread_kill():向執行緒傳送乙個訊號

同步函式:

用於 mutex 和條件變數

pthread_mutex_init() 初始化互斥鎖

pthread_mutex_destroy() 刪除互斥鎖

pthread_mutex_lock():占有互斥鎖(阻塞操作)

pthread_mutex_trylock():試圖占有互斥鎖(不阻塞操作)。即,當互斥鎖空閒時,將占有該鎖;否則,立即返回。

pthread_mutex_unlock(): 釋放互斥鎖

pthread_cond_init():初始化條件變數

pthread_cond_destroy():銷毀條件變數

pthread_cond_signal(): 喚醒第乙個呼叫pthread_cond_wait()而進入睡眠的執行緒

pthread_cond_wait(): 等待條件變數的特殊條件發生

thread-local storage(或者以pthreads術語,稱作執行緒特有資料):

pthread_key_create(): 分配用於標識程序中線程特定資料的鍵

pthread_setspecific(): 為指定執行緒特定資料鍵設定執行緒特定繫結

pthread_getspecific(): 獲取呼叫執行緒的鍵繫結,並將該繫結儲存在 value 指向的位置中

pthread_key_delete(): 銷毀現有執行緒特定資料鍵

pthread_attr_getschedparam();獲取執行緒優先順序

pthread_attr_setschedparam();設定執行緒優先順序

工具函式:

pthread_equal(): 對兩個執行緒的執行緒標識號進行比較

pthread_detach(): 分離執行緒

pthread_self(): 查詢執行緒自身執行緒標識號

Linux多執行緒函式解析

linux多執行緒函式解析 linux多執行緒函式用得比較多的是下面的3個 pthread create pthread exit pthread join 它們都是在標頭檔案之中。編譯時需要加靜態庫 lpthread 下面是函式的說明 pthread create是unix環境建立執行緒函式 in...

Linux多執行緒函式解析

linux多執行緒函式解析 linux多執行緒函式用得比較多的是下面的3個 pthread create pthread exit pthread join 它們都是在標頭檔案之中。編譯時需要加靜態庫 lpthread 下面是函式的說明 pthread create是unix環境建立執行緒函式 in...

Linux多執行緒程式設計函式

建立執行緒 pthread create 如果該函式執行成功,執行緒就自動開始執行了 pthread join 函式可以用於將當前執行緒掛起來等待執行緒的結束。這個函式是乙個執行緒阻塞的函式,呼叫它的函式將一直等待到被等待的執行緒結束為止,當函式返回時,被等待執行緒的資源就被收回。執行緒入口函式執行...