《Linux》 執行緒控制

2021-10-23 02:12:06 字數 1030 閱讀 2802

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...