c++ - 编写多线程异常安全代码

标签 c++ multithreading exception c++11

C++ 中多线程和异常安全之间的紧张关系是什么?是否有好的指导方针可供遵循?线程是否因未捕获的异常而终止?

最佳答案

C++0x 将有 Language Support for Transporting Exceptions between Threads这样当工作线程抛出异常时,生成线程可以捕获或重新抛出它。

来自提案:

namespace std {

    typedef unspecified exception_ptr;

    exception_ptr current_exception();
    void rethrow_exception( exception_ptr p );

    template< class E > exception_ptr copy_exception( E e );
}

关于c++ - 编写多线程异常安全代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329061/

相关文章:

c++ - 具有模板化类成员函数的多线程

c# - 什么时候最好不要创建用户定义的异常?

java - EJBCA如何创建用于web服务和java代码之间通信的 keystore (wsdl异常)

java - 在运行时检查异常是否为已检查异常

c++ - 多个类的共享模板成员函数

c++ - IEEE Std 754 Floating-Point : let t := a - b, 标准是否保证 a == b + t?

c++ - 如何在 C++ 中使用 GMock 模拟方法(非虚拟)以返回特定值?

java - 重用执行异步代码并回发到 UI 线程的代码

java - 最终局部变量不能被赋值,因为它是在封闭类型 java 中定义的

c# - C# 中线程的处理(死锁)