linux下的C語言開發(多執行緒程式設計)

2021-06-17 16:30:21 字數 955 閱讀 5121

多執行緒和多程序還是有很多區別的。其中之一就是,多程序是linux核心本身所支援的,而多執行緒則需要相應的動態庫進行支援。對於程序而言,資料之間都是相互隔離的,而多執行緒則不同,不同的執行緒除了堆疊空間之外所有的資料都是共享的。說了這麼多,我們還是自己編寫乙個多執行緒程式看看結果究竟是怎麼樣的。

[cpp]view plain

copy

print?

#include 

#include 

#include 

#include 

void func_1(void* args)  

}  void func_2(void* args)  

}  int main()  

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

while(1)  

return 0;  

}  

和我們以前編寫的程式有所不同,多執行緒**需要這樣編譯,輸入gcc thread.c -o thread -lpthread,編譯之後你就可以看到thread可執行檔案,輸入./thread即可。

[cpp]view plain

copy

print?

[test@localhost desktop]$ ./thread

this is func_1!  

this is func_2!  

this is func_1!  

this is func_1!  

this is func_2!  

this is func_1!  

this is func_1!  

this is func_2!  

this is func_1!  

this is func_1!  

linux下的C語言開發(多執行緒程式設計)

多執行緒和多程序還是有很多區別的。其中之一就是,多程序是linux核心本身所支援的,而多執行緒則需要相應的動態庫進行支援。對於程序而言,資料之間都是相互隔離的,而多執行緒則不同,不同的執行緒除了堆疊空間之外所有的資料都是共享的。說了這麼多,我們還是自己編寫乙個多執行緒程式看看結果究竟是怎麼樣的。cp...

Linux下的C語言開發 多執行緒程式設計

多執行緒和多程序還是有很多區別的。其中之一就是,多程序是linux核心本身所支援的,而多執行緒則需要相應的動態庫進行支援。對於程序而言,資料之間都是相互隔離的,而多執行緒則不同,不同的執行緒除了堆疊空間之外所有的資料都是共享的。說了這麼多,我們還是自己編寫乙個多執行緒程式看看結果究竟是怎麼樣的。in...

linux下的C語言開發(多執行緒程式設計)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!多執行緒和多程序還是有很多區別的。其中之一就是,多程序是linux核心本身所支援的,而多執行緒則需要相應的動態庫進行支援。對於程序而言,資料之間都是相互隔離的,而多執行緒則不同,不同的執行緒除了堆疊空間之外所有的資料都是共享的。說了這麼多,我們還是...