linux多執行緒入門

2022-01-22 18:48:28 字數 639 閱讀 8415

linux下的多執行緒通過pthread實現,下面給個簡單的例子。

#include #include 

#include

void*thr_fn()

intmain()

pthread_join(tid, null);

printf(

"main thread return\n");

return0;

}

執行輸出如下:

主要涉及兩個函式:

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,

void *(*start_routine) (void *), void *arg); //執行緒建立函式

int pthread_join(pthread_t thread, void **retval);                        //等待執行緒結束函式
reference:

linux下的多執行緒程式設計

Linux 多執行緒程式設計入門

建立執行緒 intpthread create pthread t restrict thread,const pthread attr t restrict attr,void start routine void void restrict arg 引數 thread 輸出執行緒id attr ...

Linux多執行緒程式設計入門 2

執行緒的分離狀態決定乙個執行緒以什麼樣的方式來終止自己。在上面的例子中,我們採用了執行緒的預設屬性,即為非分離狀態,這種情況下,原有的執行緒等待建立的執行緒結束。只有當 pthread join 函式返回時,建立的執行緒才算終止,才能釋放自己占用的系統資源。而分離執行緒不是這樣子的,它沒有被其他的執...

Linux多執行緒程式設計入門 3

3 條件變數 前一節中我們講述了如何使用互斥鎖來實現執行緒間資料的共享和通訊,互斥鎖乙個明顯的缺點是它只有兩種狀態 鎖定和非鎖定。而條件變數通過允許執行緒阻塞和等待另乙個執行緒傳送訊號的方法彌補了互斥鎖的不足,它常和互斥鎖一起使用。使用時,條件變數被用來阻塞乙個執行緒,當條件不滿足時,執行緒往往解開...