linux 之執行緒基礎 二 執行緒相關API

2021-10-04 11:19:52 字數 1328 閱讀 6552

2.1.1 程序id的資料型別

2.1.2 執行緒id的資料型別

注意:

2.2.1 函式原型

#include

intpthread_create

(pthread_t *thread,

const pthread_attr_t *attr,

void*(

*start_routine)

(void*)

,void

*arg)

;

2.2.2 函式引數

注意1:

注意2:

2.3.1 函式原型

#include

void

pthread_exit

(void

*retval)

;// retval 引數用於獲取退出狀態,也就是pthread_exit 執行後,會將執行狀態填入retval指向的空間中

2.3.2 函式引數

2.3.3 retval可以返回的值(退出狀態)2.4.1 函式原型

#include

intpthread_join

(pthread_t thread,

void

**retval)

;//為什麼是個二級指標? 相當於程序中的wait函式

注意

一般此函式用在主線程中,等待通過thread指定的執行緒終止,此函式呼叫成功,

可以通過value_ptr獲取終止執行緒的返回值。

2.4.2 函式引數

2.4.3 函式返回值

注意:為什麼引數是二級指標?

2.5.1 函式原型

#include

intpthread_cancel

(pthread_t thread)

;

請求取消同一程序中的另外乙個執行緒。

2.5.2 函式引數:

2.5.3返回值:

注意:

執行緒通過呼叫pthread_cancel來請求取消同乙個程序中正在執行的其他執行緒。

如果乙個執行緒被取消,那pthread_join接受的執行緒返回值為pthread_canceled;

pthread_cancel並不等待執行緒終止,僅提出請求。

#define pthread_canceled ((void *) -1)

linux 之執行緒基礎 二 執行緒相關API

2.1.1 程序id的資料型別 2.1.2 執行緒id的資料型別 注意 2.2.1 函式原型 include intpthread create pthread t thread,const pthread attr t attr,void start routine void void arg 2...

Linux多執行緒程式設計(二) 執行緒屬性

pthread介面允許我們通過設定每個物件關聯的不同屬性來細調執行緒的行為。include int pthread attr init pthread attr t attr int pthread attr destroy pthread attr t attr 兩個函式的返回值 若成功,返回0 ...

二 執行緒狀態

新建狀態 new 用new關鍵字建立乙個執行緒物件後,該執行緒物件就處於新生狀態。處於新生狀態的執行緒有自己的記憶體空間,通過呼叫start方法進入就緒狀態。就緒狀態 runnable 處於就緒狀態的執行緒已經具備了執行條件,但是還沒有被分配到cpu,處於 執行緒就緒佇列 等待系統為其分配cpu。就...