多程序是資源管控的最小單位那麼多執行緒是資源排程的最小單位,多程序就像乙個大廈有著所有資源那麼多執行緒就是大廈中的那些辦公室呼叫大廈的資源來進行工作。
linux提供了關於執行緒建立,控制,設定屬性的api.
/*多執行緒控制代碼資料型別*/
pthread_t thread;
/*建立執行緒並且指定執行函式*/
int pthread_create(pthread_t &thread, const pthread_attr_t *attr, (void*)(*rth)(void*), void*arg);
//arg是傳入執行函式的引數
/*執行緒的***/
int pthread_join(pthread_t thread, void*arg);
//arg是來接收子執行緒傳回來的資訊
/*退出執行緒*/
void pthread_exit(void *ret);
//ret是要返回給主線程的資訊
/*終止執行緒*/
int phtread_cancel(pthread_t thread);
/*執行緒的屬性*/
typedef union
pthread_attr_t;
pthread_attr_t有非常多的設定api,這裡先不在敘述。
Linux 多執行緒程式設計(一)
1 建立執行緒 有乙個比較特殊的執行緒,就是主線程或者稱為初始執行緒,它是當乙個程序被建立時建立的。而其他執行緒則是在初始執行緒中呼叫pthread create建立的。建立的新執行緒初始為ready狀態,等待處理器排程。2 執行執行緒 執行緒被建立後,就會執行phtread create的star...
linux多執行緒
linux下為了多執行緒同步,通常用到鎖的概念。posix下抽象了乙個鎖型別的結構 ptread mutex t。通過對該結構的操作,來判斷資源是否可以訪問。顧名思義,加鎖 lock 後,別人就無法開啟,只有當鎖沒有關閉 unlock 的時候才能訪問資源。它主要用如下5個函式進行操作。1 pthre...
linux多執行緒
執行緒標識 就像每個程序都有乙個id一樣,執行緒也有自己的id。程序id用pid t來表示,他是乙個unsigned int。程序id用pthread t來表示,pthread t不能把它當整數處理。程序可以通過pthread self 函式獲得自身的執行緒id。執行緒建立 在程序中只有乙個控制線程...