a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

Linux線程同步之信號C語言實例

2020-01-26 15:07:03
字體:
來源:轉載
供稿:網友

linux中向某個線程發送信號,若沒有對該信號的處理函數,則會導致程序結束。
如下面的程序,創建一個線程,主線程向其發送一個信號,會導致程序立即結束

#include <stdio.h> #include <pthread.h>  pthread_t t;  void* run(void* arg) {   while(1)   {     printf("Hello/n");   } }  main() {   pthread_create(&t, 0, run, 0);   pthread_kill(t,34);   while(1); } 


這就要求利用pthread_kill 與 sigwait 通過等待信號來控制線程時應添加一個信號處理函數來實現對線程的控制
改進后的控制線程程序

#include <stdio.h> #include <pthread.h> #include <signal.h>  pthread_t t1, t2; sigset_t sigs;  void handle(int s) { }  void* r1(void* arg) {   int s;   while(1)   {     printf("1/n");     sigwait(&sigs, &s);   } }  void* r2(void* arg) {   while(1)   {     sleep(1);     printf("2/n");     pthread_kill(t1, 34);   } }  main() {   signal(34, handle);   sigemptyset(&sigs);   sigaddset(&sigs, 34);      pthread_create(&t1, 0, r1, 0);   pthread_create(&t2, 0, r2, 0);    while(1); } 

部分效果

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 狠狠色伊人亚洲综合成人 | 羞羞视频在线观看入口 | 黄色片子视频 | 日日日操 | 国产精品久久久久久一区二区三区 | 成人精品一区二区三区电影黑人 | 国产精品久久久久久久久久久久久久 | 久久久久久久国产精品 | 免费黄色在线视频网址 | 91精品国产乱码久久久久久 | 欧美亚洲国产一区二区三区 | 精品自拍视频 | 成人毛片在线观看 | 日本亚洲精品一区二区三区 | 91久久久久久 | 欧美午夜精品久久久久久浪潮 | 成人欧美一区二区三区在线观看 | 天天干天天爽 | 日韩中文字幕av | 天堂va久久久噜噜噜久久va | 狠狠久久综合 | 美女久久久久久久久久久 | 欧美精品成人 | 中文字幕视频在线 | av网址大全在线观看 | 精品一区av| 午夜在线电影 | 午夜精品久久久久久久久久久久久 | 999久久久国产精品 heyzo在线观看 | 欧美天天| 国产午夜精品美女视频明星a级 | 一区二区在线免费观看 | 欧美日韩一区二区三区 | 精品电影 | 777xacom| 99热在线播放 | 久久激情综合 | 国产精品永久免费 | 毛片网络 | 国产午夜精品一区二区 | 青青草网 |