Linux下的C語言開發 執行緒互斥

2021-07-14 12:31:14 字數 663 閱讀 8194



對於編寫多執行緒的朋友來說,執行緒互斥是少不了的。在linux下面,編寫多執行緒常用的工具其實是pthread_mutex_t。本質上來說,它和windows下面的mutex其實是一樣的,差別幾乎是沒有。

#include #include #include #include static int value = 0;

pthread_mutex_t mutex;

void func(void* args)

}int main()

if(pthread_create(&pid2, null, func, null))

while(1)

sleep(0);

return 0;

}

編寫mutex.c檔案結束之後,我們就可以開始編譯了。首先你需要輸入gcc mutex.c -o mutex -lpthread,編譯之後你就可以看到mutex可執行檔案,輸入./mutex即可。

[test@localhost thread]$ ./mutex

value = 1!

value = 2!

value = 3!

value = 4!

value = 5!

value = 6!

linux下的C語言開發(執行緒等待)

和多程序一樣,多執行緒也有自己的等待函式。這個等待函式就是pthread join函式。那麼這個函式有什麼用呢?我們其實可以用它來等待執行緒執行結束。include include include include void func void args int main pthread join p...

linux下的C語言開發(執行緒等待)

和多程序一樣,多執行緒也有自己的等待函式。這個等待函式就是pthread join函式。那麼這個函式有什麼用呢?我們其實可以用它來等待執行緒執行結束。cpp view plain copy include include include include void func void args int...

linux下的C語言開發(執行緒等待)

和多程序一樣,多執行緒也有自己的等待函式。這個等待函式就是pthread join函式。那麼這個函式有什麼用呢?我們其實可以用它來等待執行緒執行結束。cpp view plain copy include include include include void func void args int...