当前位置:网站首页 > C++编程 > 正文

c++ 条件变量 wait(c++ 条件变量signal)



信号的概念

这个函数可以用来,重新注册我们的block位图,如果oset是非空指针,则读取进程的当前信号屏蔽字通过oset参数传出。如果set是非空指针,则 更改进程的信 号屏蔽字,参数how指示如何更改。如果oset和set都是非空指针,则先将原来的信号 屏蔽字备份到oset里,然后 根据set和how参数更改信号屏蔽字。假设当前的信号屏蔽字为mask,下表说明了how参数的可选值。

how的选项


其实我们一般都是用的sig_setmask这个参数,毕竟这个学习成本最低了。

操作系统给我提供了一个类型sigset_t就是用来搞block位图的。他是配合着sigemptyset,sigaddset函数使用的

 
  

sigemptyset函数用于初始化一个信号集,将信号集中的所有信号都清空,其中,set为指向信号集的指针。函数成功执行时,返回0;否则,返回-1。

 
  

sigaddset函数用于将指定的信号添加到信号集中,其中,set为指向信号集的指针,signum为待添加的信号编号。函数成功执行时,返回0;否则,返回-1。

 
  

sigpending函数用于获取当前进程未决的信号集,即已经产生但还未被处理的信号集,其中,set为指向信号集的指针。函数成功执行时,返回0;否则,返回-1。其实就是用来手机pending表。

 
  

我们将2号信号阻塞过后,我们ctrl+c就会使进程接收信号,但此时2号为阻塞,当十秒过后阻塞结束,就会执行信号的函数,然后pending表xin'da

到此这篇c++ 条件变量 wait(c++ 条件变量signal)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • con1是什么意思(con 什么意思)2025-11-20 12:09:04
  • jypjhfjyyunnetcn成绩查询(jypjhfjyyunnetcn查分数)2025-11-20 12:09:04
  • 美国cnn是什么党派(美国cnn总部是什么部门)2025-11-20 12:09:04
  • 单向链表排序C语言(c++单链表排序)2025-11-20 12:09:04
  • apc和upc区别(upc和ean)2025-11-20 12:09:04
  • acl权限模型(acl权限的作用)2025-11-20 12:09:04
  • console线怎么接(console线怎么接电脑)2025-11-20 12:09:04
  • tcp协议工具(tcping工具)2025-11-20 12:09:04
  • kubelet 作用(kubelet csi)2025-11-20 12:09:04
  • console接口是干嘛的(交换机的console连接线)2025-11-20 12:09:04
  • 全屏图片