多线程编程指南

将信号发送到特定线程

pthread_kill(3C)kill(2) 的线程模拟。pthread_kill() 可以将信号发送到特定线程。发送到指定线程的信号不同于发送到进程的信号。将信号发送到进程时,信号可由该进程中的任何线程来处理。通过 pthread_kill() 发送的信号只能由指定线程来处理。

可以使用 pthread_kill() 将信号仅发送到当前进程中的线程。由于 thread_t 类型的线程标识符的范围是本地,因此不能指定当前进程范围以外的线程。

通过目标线程接收信号时,调用的操作(处理程序 SIG_DFLSIG_IGN)通常为全局操作。如果将 SIGXXX 发送到线程,且 SIGXXX 的作用是中止进程,则目标线程接收信号时将中止整个进程。