多线程编程指南

同步信号

陷阱(如 SIGILLSIGFPESIGSEGV)是由于对线程执行操作引起的,如除以零或引用不存在的内存。陷阱仅由导致陷阱的线程处理。进程中的多个线程可以同时生成和处理同种类型的陷阱。

可以很容易地针对同时生成的信号将信号扩展到各个线程。可以针对生成同步信号的线程调用处理程序。

但是,如果进程选择不建立相应的信号处理程序,则出现陷阱时将执行缺省操作。即使针对生成的信号阻塞违例线程,也会执行缺省操作。这类信号的缺省操作是终止进程,可能还会进行核心转储。

这类同步信号通常意味着整个进程出现严重问题,而不仅仅是线程出现问题。在这种情况下,终止进程通常是很好的选择。