Oracle® Solaris Studio 12.4:C++ 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

10.2 在多线程程序中使用异常

对于多线程而言,当前的异常处理实现是安全的,因为一个线程中的异常与其他线程中的异常互不影响。不过,您不能使用异常来进行线程之间的通信,因为一个线程中抛出的异常不会被其他线程捕获到。

每个线程都可设置其自己的 terminate()unexpected() 函数。在一个线程中调用 set_terminate()set_unexpected() 只影响该线程中的异常。对于任何线程,terminate() 的缺省函数是 abort()(请参见指定运行时错误)。