没有异常的Std::线程
std::thread without exceptions?
我想知道是否有一种方法可以使用std::thread
没有例外,如果不是我可以使用什么替代方案?
实际上我的目标是windows和linux桌面,但这可能会在未来扩展。
edit:仅仅使用编译器选项来禁用异常,不是一个可接受的解决方案。不管怎样,错误都要交出来。
问题是,只有在我的代码中使用的异常是那些处理std::thread
错误。我想摆脱那些有一个无异常的代码
edit2:我找到了tinythread++库,如果需要的话,它似乎很容易修改,并且没有异常。
您可以禁用STL的异常,但每个编译器的情况不同。当然,由于标准实际上规定必须抛出一些异常,因此无论何时执行可能抛出异常的操作,都将得到未定义的行为。
在gcc中使用-fno-exceptions
:我可以禁用STL中的异常吗?
相关文章:
- 为什么std::async使用同一个线程运行函数
- 在std::thread中,joinable()然后join()线程安全吗
- 在main()之外初始化std::vector会导致性能下降(多线程)
- MESI协议和std::atomic-它是否确保所有写入立即对其他线程可见?
- 使用 std::string () const 函数启动线程或未来
- 用C++中的std::condition_variable将线程置于死锁中会有风险吗
- 即发即弃 std::线程对象清理自身
- std::mutex 如何防止线程修改?
- std::线程导致程序中止
- 如果在 2 个线程中使用,是否值得将size_t声明为 std::atomic?
- std::cout 来自多个线程
- 简单使用 std::atomic 在两个线程之间共享数据
- std::线程不是全局变量,但在到达创建它的函数的末尾时不会超出范围?
- 线程 std::调用未知类型,无法专门化函数错误
- 使用 std::chrono::steady_clock 对线程/异步中的代码进行基准测试
- 带有 std::cout 的多线程控制台文本动画
- 线程不是 std c++ 的成员
- ZeroMQ 在使用 std::thread 创建工作线程时崩溃
- 使用 std::condition_variable 触发其他线程.使用哪些互斥锁?
- 使用多线程(std::async、std::thread或?)加速