【发布时间】:2011-02-04 05:30:48
【问题描述】:
我一直试图了解 POSIX 线程和 POSIX 信号如何交互的复杂性。我特别感兴趣的是:
- 控制信号传递到哪个线程的最佳方法是什么(假设它首先不是致命的)?
- 告诉另一个线程(实际上可能很忙)信号已到达的最佳方法是什么? (我已经知道从信号处理程序中使用 pthread 条件变量是个坏主意。)
- 如何安全地处理将发生信号的信息传递给其他线程?这需要在信号处理程序中发生吗? (我一般不想杀死其他线程;我需要一种更微妙的方法。)
作为我想要这个的参考,我正在研究如何将TclX 包转换为支持线程,或者将其拆分并至少使一些有用的部分支持线程。信号是特别令人感兴趣的部分之一。
【问题讨论】: