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

退出打印视图

更新时间: 2014 年 12 月
 
 

10.2.1 线程取消

通过调用 pthread_cancel(3T) 取消线程会导致销毁堆栈上的自动(局部非静态)对象,但指定了 -noex-features=no%except 时例外。

pthread_cancel(3T) 使用的机制与异常相同。取消线程时,局部析构函数与用户通过 pthread_cleanup_push() 注册的清除例程交叉执行。在特定的清除例程注册之后,函数调用的本地对象在例程执行前就被销毁了。