一、編寫**如下,取名為hello.c或者hello.cpp均可
#include #include using namespace std;
void show(int i)
{ cout <
g++ -c -g hello.c (-c指conplier,-p指debug模式),此步之後將生成hello.o程式
g++ hello.o -o hello.exe -lpthread (-o hello.exe指的是-out為hello.exe的檔案,由於pthread不是linux下的預設的庫,也就是在鏈 接的時候,無法找到phread庫中哥函式的入口位址,因此要加-lpthread否則鏈結失敗)
執行./hello.exe檢視結果
三、結果分析
注意看,有的時候同樣的輸出竟然 會出現兩次,有的時候什麼也沒有輸出
若將**中的detach()改為join(),則程式結果很有規律,如下圖:
Linux下多執行緒程式除錯方法
1 最直接的方法就是在源程式插入printf語句來列印出一些有用的變數。這種方法的優點是不用借助其他工具就可以對程式的執行進行觀察,缺點是插入語句的位置 粒度等都需要除錯者自己去權衡,如果插入過多的列印語句,則頻繁的io操作會使程式執行變慢,執行緒行為改變,有些bug甚至不會再出現。至於需要在什麼地...
Linux下C程式使用多執行緒方式處理例項
下面我們先來編譯 執行一下 引文 falcon falcon program c code ftp gcc lpthread o thread example thread example.c falcon falcon program c code ftp thread example 我是主函式...
Linux下C語言多執行緒例項
建立兩個執行緒訪問互斥資料,對其加1輸出。這是乙個多執行緒最常見的例子 include include include include define max 10 pthread t thread 2 pthread mutex t mut int number 0,i void thread1 p...