Linux之執行緒控制

2021-09-10 03:44:40 字數 730 閱讀 4011

執行緒控制

由於執行緒是後來才引用進來的,因此,在編譯鏈結時需要加-lpthread來引入外部庫(posix)

建立執行緒

#include //函式原型

int pthread_create(pthread_t* thread, const pthread_attr_t* attr, void *(*start_routine)(void*), void *arg);

//引數

thread :返回執行緒id

attr : 執行緒屬性,預設為null

arg : 執行緒函式的引數,只有乙個,如果實在c++的類中使用,則執行緒函式必須設定為 static 型別,因為c++中我們看到的不一定是真實的

// 返回值

成功返回0,失敗返回錯誤碼

看個例子:

#include #include using namespace std;

void* func(void* arg)

int main( )

int ret =0;

sleep(1);//很重要,要讓執行緒先分離,再等待

if ( pthread_join(tid, null ) == 0 ) ;

printf("pthread wait success\n");

}else

return ret;

}

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》 執行緒控制

posix執行緒庫 與執行緒有關的函式構成了乙個完整的系列,絕大多數函式的名字都是以 pthread 打頭的 要使用這些函式庫,要通過引入頭文 鏈結這些執行緒函式庫時要使用編譯器命令 lpthread 選項 建立執行緒 功能 建立乙個新的執行緒 原型 int pthread create pthre...