Linux 執行緒函式

2021-09-14 06:39:19 字數 1186 閱讀 9177

#include
int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*func) (void *), void *arg);

int pthread_join (pthread_t tid, void ** status);

pthread_t pthread_self (void);

int pthread_detach (pthread_t tid);

void pthread_exit (void *status);

其他執行緒函式:(執行緒資料、優先順序等)

用於建立乙個執行緒,成功返回0,否則返回e***(為正數)。

pthread_t tid:執行緒id的型別為pthread_t,通常為無符號整型,當呼叫pthread_create成功時,通過*tid指標返回。

const pthread_attr_t *attr:指定建立執行緒的屬性,如執行緒優先順序、初始棧大小、是否為守護程序等。可以使用null來使用預設值,通常情況下我們都是使用預設值

void *(*func) (void *):函式指標func,指定當新的執行緒建立之後,將執行的函式。

void *arg:執行緒將執行的函式的引數。如果想傳遞多個引數,請將它們封裝在乙個結構體中。

pthread_t tid:指定要等待的執行緒id

void ** status:如果不為null,那麼執行緒的返回值儲存在status指向的空間中(這就是為什麼status是二級指標的原因!這種才引數也稱為「值-結果」引數)。

而如果不是分離狀態,執行緒必須保留它的執行緒id,退出狀態直到其它執行緒對它呼叫了pthread_join。

ps:程序也是類似,這也是當我們開啟程序管理器的時候,發現有很多僵死程序的原因!也是為什麼一定要有僵死這個程序狀態。

void *status:指標執行緒終止的返回值。

#include #include using namespace std;

pthread_t gthreadid;

void printarg(void *arg)

{    int i = *(int *)arg;

cout<<"i = "<$ gcc -g -o test main.c -lpthread

$ ./test

Linux多執行緒 執行緒函式

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

linux子執行緒執行的函式 Linux執行緒基礎函式

1.執行緒標識 1 比較兩個執行緒id include intpthread equal pthread t tid1,pthread t tid2 ret 若相等則返回非0值,否則返回0值 2 獲取執行緒自身id include pthread t pthread self void ret 呼叫...

linux中線程相關函式

linux中線程相關函式 2010年03月09日 星期二 22 18 1.比較兩個執行緒 id 是否一致。執行緒id 使用 pthread t 資料型別來表示。linux 使用 unsigned long int 表示pthread t 資料型別。solaris 9 把 pthread t 資料型別...