在多线程程序中处理异步信号
Linux编程接口书提到了一种在多线程程序中处理异步信号的方法:
现在的问题: >当内核想要传递信号时,它会选择进程任意的一个线程.从哪里可以知道将信号传递给专用线程? 解决方法
当内核提供一个进程导向的信号时,它选择一个没有信号阻塞的线程.这意味着它不会从信号处理线程中选择任何线程(它的作用就像在sigwaitinfo()中被阻塞的信号被解除阻塞)或类似的信号.换句话说:内核知道传送信号的位置,因为你已经安排了这样的事情,使得信号处理线程是允许传递信号的唯一线程.
您不使用pthreads API或信号处理程序中的任何非异步信号安全功能.所概述的解决方案不处理信号处理程序中的信号 – 它在sigwaitinfo()返回之后处理信号处理线程的正常执行流程中的信号.这允许它访问非异步信号安全功能,这是整体. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – 使用Guava Preconditions的自定义异常
- java – 未调用RecyclerView Adapter方法
- java – 返回类型的静态工厂模式的有界通配符
- 提高代码复用性
- java – AudioRecord对象未在项目中初始化
- java – 输入重复键时保持原始键/值的Hashmap
- java-使用jackson将json字符串映射到对象将抛出MismatchedI
- Quicksort(Java)导致stack.verFlow在array.length> 60k
- java – 相同的代码,相同的输入,有时运行速度快,有时慢,为
- java – 如何在WebContent文件夹中获取文件的真实路径?