【发布时间】:2013-07-07 05:43:33
【问题描述】:
从CPPReference 开始,没有明确表示std::mutex 的锁函数不会抛出如果锁不会导致死锁。
PThread's lock 只有一个死锁错误。我不知道window的线程实现。我也不知道它们是否是用作std::thread/std::mutex后端的线程的其他实现。
所以我的问题是“我是否应该编写我的代码,就好像在某些时候,没有特殊原因,锁可能会失败?”。
我实际上需要在一些 noexcept 方法中锁定一个互斥体,并且我想确保它们是 noexcept。
【问题讨论】:
-
+1 可能会抛出一个锁,恕我直言,这真的不是一件好事。当然,我们需要在析构函数中调用它们。毕竟我最终写了my own mutex class。
标签: c++ c++11 exception locking mutex