程序與執行緒原語

2021-06-22 16:06:17 字數 976 閱讀 7892

程序                    執行緒

fork                    pthread_create建立新的控制流

exit                    pthread_exit從現有的控制流中退出

waitpid             pthread_join從控制流中得到退出狀態

atexit                 pthread_cleanup_push註冊在退出控制流時呼叫的函式

getpid               pthread_selt獲取控制流的id

abort                pthread_cancel請求控制流的非正常退出

程序id:pid_t; 執行緒id:pthread_t

程序終止方式:程序中任一線程呼叫exit, _exit或_exit

執行緒終止方式:執行緒從啟動例程中返回;被同程序中的其他執行緒終止;執行緒呼叫pthread_exit

pthread_t pthread_selt(void);獲取自身執行緒id

int pthread_create(pthread_t* restrict tidp, const pthread_attr_t* restrict attr, void* (*start_rtn)(void*), void* restrict arg);

void pthread_exit(void* rval_ptr);

int pthread_join(pthread_t thread, void** rval_ptr);

int pthread_detach(pthread_t tid);

int pthread_attr_setdetachstate(pthread_attr_t* attr, int detachstate);修改pthread_attr_t中的detachstate執行緒屬性,設定為pthread_create_detached或pthread_create_joinable

程序 執行緒控制原語對比

程序 執行緒 fork pthread create exit int pthread exit wait int pthread join void kill pthread cancel 殺死執行緒,但必須到達取消點 getpid pthread self 命名空間 注 執行緒處於分離狀態,不可...

程序控制原語

unix 下的程序控制原語用於控制程序的建立 執行 終止等。其基本原語如下 用 fork 建立新程序,用 exec 執行新的程式,exit 函式和兩個 wait 函式處理終止和等待終止。下面分別講解一下 除了交換程序 init 程序和精靈程序 daemon 外,乙個現存程序呼叫 fork 函式是un...

程序間同步與互斥 P V原語操作

pv操作 s s 1,表示釋放乙個被占用的資源 如果s 1大於0,則該程序繼續執行,如果s 1小於等於0,則從該訊號的等待佇列中喚醒乙個執行緒,然後再返回原程序繼續執行或轉程序排程 v用於互斥的訊號量s與所有的併發程序有關,所以稱之為公有訊號量 初始化訊號量s為1,當進入臨界區時執行p操作,退出臨界...