posix執行緒庫
與執行緒有關的函式構成了乙個完整的系列,絕大多數函式的名字都是以「pthread_」打頭的
要使用這些函式庫,要通過引入頭文
鏈結這些執行緒函式庫時要使用編譯器命令==「-lpthread」==選項
建立執行緒
功能:建立乙個新的執行緒
原型 int
pthread_create
(pthread_t *thread,
const pthread_attr_t *attr,
void*(
*start_routine)
(void*)
,void
*arg);引數
thread:返回執行緒id
attr:設定執行緒的屬性,attr為null表示使用預設屬性
start_routine:是個函式位址,執行緒啟動後要執行的函式
arg:傳給執行緒啟動函式的引數
返回值:成功返回0;失敗返回錯誤碼
錯誤檢查:
1.傳統的一些函式是,成功返回0,失敗返回-1,並且對全域性變數errno賦值以指示錯誤。
2.pthreads函式出錯時不會設定全域性變數errno(而大部分其他posix函式會這樣做)。而是將錯誤**通過返回值返回
3.pthreads同樣也提供了執行緒內的errno變數,以支援其它使用errno的**。對於pthreads函式的錯誤,建議通過返回值業判定,因為讀取返回值要比讀取執行緒內的errno變數的開銷更小
#include
#include
#include
#include
#include
void
*rout
(void
*arg)
}int
main
(void
)int i;
for(;;
)}
linux執行緒控制
1.執行緒屬性 a 分離狀態 不需要了解執行緒返回終止狀態時設定 b 棧末尾警戒緩衝區 避免棧溢位的擴充套件記憶體大小,一般系統設定為頁的整數倍 c 棧的最小位址 i.當有許多執行緒時,減少棧大小 ii.當執行緒中有許多自動變數時,則增大棧大小 d 棧的最小長度 2.互斥量屬性 a 程序共享屬性 i...
Linux 執行緒控制
話不多說,直接進入正題!1.什麼是執行緒?2.執行緒控制 2.1 執行緒建立int pthread create pthread t tid,pthread attr t attr,void start routine void void arg tid 返回執行緒id attr 設定執行緒的屬性,...
linux多執行緒控制
include include include include include define size 1024 函式作用 使用訊號量控制,讀取輸入,獲得長度 void thread function void argv char buf size sem t sem int main res pt...