1. 執行緒的定義:乙個程序內部的控制序列。
2. 執行緒的優點:
3. 執行緒的缺點:
4. 執行緒的結構
執行緒的id
,暫存器值,棧,排程優先順序和策略,訊號遮蔽字,errno
變數,私有資料。
程序對他下面的所有執行緒共享了:可執行程式文字、程式的全域性記憶體和堆記憶體(作業系統分配的)、棧以及檔案描述符。
1. 見下面的 pthread_create() 函式原型:
int pthread_create(pthread_t *restrict tidp,
const pthread_attr_t *restrict attr,
void *(*start_rtn)(void),
void *restrict arg);
引數解釋:
tidp
建立後,返回的執行緒id
指向此變數
attr
執行緒的屬性,用null
表示預設的屬性
start_rtn
新建立的執行緒,從此函式開始執行
arg為上面start_rtn
函式的引數
2. 執行例項
在linux環境下,用 gcc t.c -o t -lpthread 編譯執行。
#include #include #include void printthreadinfo(const char *whichthread)
void *thread_function()
int main() else
sleep(1);
printthreadinfo("main thread");
return 0;
}
linux下多執行緒程式設計
先看執行的結果 1 主函式正在建立執行緒,2執行緒1被建立 3 thread1 i m thread 1th 4執行緒2被建立 5 thread2 i m thread 2nd 6 thread2 number 0 7執行緒3被建立 8主函式正在等待執行緒結束.9 thread1 number 0 ...
Linux下的多執行緒程式設計
執行緒是作業系統能夠進行排程運算的最小單位,它被包含在程序之中,是程序中的實際運作單位。一條執行緒指的是程序中乙個單一順序的控制流,乙個程序可以併發多個執行緒,每條執行緒執行不同的任務。include intpthread create pthread t pthread,const pthread...
Linux下的多執行緒程式設計
如何一次建立多個執行緒 現在對上述的互斥量的實驗程式進行分析 首先在main 函式中建立了兩個執行緒,先執行執行緒1,再執行執行緒2.執行緒1對count加互斥所,此時執行緒2就不能訪問count。只有當沉睡時間過後執行緒1對互斥量解鎖之後,執行緒2才能加鎖修改count的值並訪問,最後解鎖。try...