主線程實現以下功能:
① 定義全域性變數key;
② 建立兩個執行緒;
③ 如果執行緒正常結束,得到執行緒的結束狀態值,並列印;
執行緒一完成以下操作:
① 設定全域性變數key的值為字串「hello world」;
② 列印3次字串「當前執行緒id:key值」;
③ 接收到執行緒二傳送的取消請求訊號後退出;
④ 結束的時候列印字串「thread1 ,exited!:key值」;
執行緒二完成以下操作:
① 設定key值為6;
② 給執行緒一傳送取消請求訊號;
**
#include
#include
#include
#include
#include
#include
#include
pthread_key_t key;
struct message
;void
cleanup
(void
*arg)
void
*child1()
int res;
res =
pthread_setcancelstate
(pthread_cancel_enable,
null);
if( res!=0)
else
pthread_cleanup_push
(cleanup,
"thread frist push");
pthread_cleanup_pop(1
);printf (
"child1 return\n");
}void
*child2
(struct message *mes )
intmain()
執行截圖
Linux多執行緒程式設計實驗
利用執行緒原理模擬火車售票系統 建立4個執行緒,其中3個實現售票功能,1個實現退票功能。其中3個售票執行緒設定每隔一定時間售出一張票,退票執行緒定時退回一張票。初始車票數量自行設定,輸出顯示資訊根據情況自行擬定。include include include include include incl...
java實驗7 多執行緒程式設計
1 利用 thread 和runnable 建立執行緒 實驗目的 1 理解用實現runnable 介面的方法實現多執行緒。2 掌握執行緒優先順序的設定。3 加深對執行緒狀態轉換的理解。實驗要求 要求一 利用多執行緒實現旋轉的行星 要求二 寫乙個執行緒syncdemo。給其設計乙個方法public c...
多執行緒實驗
1 利用多執行緒類實現20個偶數和20個奇數的隨機輸出。第一種建立執行緒的方法 繼承thread public class numberthread extends thread public void run public class firstthread 2 利用多執行緒程式設計實現多個視窗賣...