当前位置:网站首页 > Haskell函数式编程 > 正文

sigmrnd函数(sigmoid 函数)



信号的概念

实际执行信号的处理动作称为信号递达(Delivery)
信号从产生到递达之间的状态,称为信号未决(Pending)。
进程可以选择阻塞 (Block )某个信号。
被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作.
注意,阻塞和忽略是不同的,只要信号被阻塞就不会递达,而忽略是在递达之后可选的一种处理动作。

所以我在这我们会介绍三张表,他们就是task_struct里面的三张表。

这个函数可以用来,重新注册我们的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

到此这篇sigmrnd函数(sigmoid 函数)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 软件的格式后缀(软件格式的后缀名)2025-03-03 11:00:08
  • ewma模型(ewma模型计算公式)2025-03-03 11:00:08
  • modbus RTU报文格式(modbuspoll报文在哪看)2025-03-03 11:00:08
  • 圈一圈,填一填(圈一圈,填一填,并说说算式中每个数表示什么意思)2025-03-03 11:00:08
  • 华为模拟器怎么进入用户模式(华为模拟器使用教程)2025-03-03 11:00:08
  • 自定义多级列表编号格式(怎么设置多级列表编号1-1、1-2)2025-03-03 11:00:08
  • ewma模型计算公式(ewma模型和garch)2025-03-03 11:00:08
  • 一级word目录格式怎么设置二级标题字体二级word目录格式怎么设置二级标题字体怎么设置字体(一级word目录格式怎么设置二级标题字体二级word目录格式怎么设置二级标题字体的字体)2025-03-03 11:00:08
  • 阿里巴巴支付方式有哪些(阿里巴巴有几种付款方式)2025-03-03 11:00:08
  • 聚合函数 null(聚合函数中不忽略空值(null) 的是)2025-03-03 11:00:08
  • 全屏图片