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