最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年04月27日 10:40:18   投稿:junjie  
這篇文章主要介紹了Linux線程同步之信號C語言實例,本文直接給出代碼實例,需要的朋友可以參考下

linux中向某個線程發(fā)送信號,若沒有對該信號的處理函數(shù),則會導(dǎo)致程序結(jié)束。
如下面的程序,創(chuàng)建一個線程,主線程向其發(fā)送一個信號,會導(dǎo)致程序立即結(jié)束

#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 通過等待信號來控制線程時應(yīng)添加一個信號處理函數(shù)來實現(xiàn)對線程的控制
改進(jìn)后的控制線程程序

#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); 
} 

部分效果

相關(guān)文章

  • 如何判斷一個數(shù)是否為2的冪次方?若是,并判斷出來是多少次方?

    如何判斷一個數(shù)是否為2的冪次方?若是,并判斷出來是多少次方?

    本篇文章是對如何判斷一個數(shù)是否為2的冪次方?若是,并判斷出來是多少次方的實現(xiàn)方法,進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++實現(xiàn)批量圖片拼接

    C++實現(xiàn)批量圖片拼接

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)批量圖片拼接,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Qt QML使用虛擬鍵盤的示例代碼

    Qt QML使用虛擬鍵盤的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Qt QML使用虛擬鍵盤的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解

    C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解

    這篇文章主要介紹了C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解,基本數(shù)據(jù)類型有int、long、long long、float、double、char、string,正文有詳細(xì)介紹,歡迎參考
    2018-01-01
  • 基于Qt實現(xiàn)可拖動自定義控件

    基于Qt實現(xiàn)可拖動自定義控件

    這篇文章主要為大家詳細(xì)介紹了如何基于Qt實現(xiàn)可拖動自定義控件,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2023-04-04
  • C++11計時器之chrono庫簡介

    C++11計時器之chrono庫簡介

    C++11有了chrono庫,可以在不同系統(tǒng)中很容易的實現(xiàn)定時功能,要使用chrono庫,需要#include,其所有實現(xiàn)均在std::chrono namespace下,本文給大家介紹C++11計時器:chrono庫介紹,感興趣的朋友一起看看吧
    2023-12-12
  • 詳解C++?指針與二維數(shù)組名

    詳解C++?指針與二維數(shù)組名

    和一維數(shù)組類似,C++?將二維數(shù)組名解釋為其第一個元素的地址,而二維數(shù)組的第一個元素為一維數(shù)組,下面詳細(xì)總結(jié)下二維數(shù)組名的性質(zhì),需要的朋友可以參考下
    2022-09-09
  • 利用C++求絕對值的幾種方法例子

    利用C++求絕對值的幾種方法例子

    相信大家在學(xué)習(xí)C++時,應(yīng)該都有做過求絕對值的題目,下面這篇文章主要給大家介紹了關(guān)于利用C++求絕對值的幾種方法例子,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • C++中臨時對象的常見產(chǎn)生情況及其解決的方案

    C++中臨時對象的常見產(chǎn)生情況及其解決的方案

    這篇文章主要是探討常見的臨時對象產(chǎn)生的情況,及其如何避免和解決這種臨時對象產(chǎn)生的方式。具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 淺談c++11線程的互斥量

    淺談c++11線程的互斥量

    互斥量是個類對象,理解成一把鎖(保護(hù)共享數(shù)據(jù),其他想操作共享數(shù)據(jù)的線程必須等待解鎖),互斥量使用要小心,保護(hù)數(shù)據(jù)不多也不少,少了則沒達(dá)到保護(hù)效果,多了則影響效率。本文將介紹c++11線程的互斥量,感興趣的同學(xué),可以參考下。
    2021-06-06

最新評論

宁陕县| 霍林郭勒市| 施甸县| 凤城市| 厦门市| 桐梓县| 汨罗市| 宁乡县| 新野县| 孝昌县| 神木县| 永康市| 西林县| 如东县| 麻江县| 淮阳县| 文化| 稻城县| 多伦县| 罗平县| 利辛县| 余庆县| 江门市| 建昌县| 嵊泗县| 宁城县| 高尔夫| 哈巴河县| 贺州市| 桦甸市| 吉木乃县| 澄江县| 武夷山市| 古交市| 兴山县| 灵武市| 绥芬河市| 寻甸| 霍林郭勒市| 榆社县| 双峰县|