Mutex概念与C ++中的Lockable有何不同?

时间:2014-03-28 03:07:59

标签: c++ synchronization c++-standard-library

似乎这两个概念需要相同的方法集(即lock,unlock和try_lock)。 Mutex是否要求这些方法支持比Lockable更强的语义?

1 个答案:

答案 0 :(得分:1)

根据§30.4.1.2/ 2:

  

互斥锁类型应满足可锁定要求(30.2.5.3)。

然而,

§30.4.1.2/ 3补充说:

  

互斥锁类型应为DefaultConstructible和Destructible。如果初始化互斥锁的对象   如果类型失败,则抛出类型为system_error的异常。互斥锁类型不可复制或   可移动的。

§30.4.1.2/ 3增加了另一个要求,指定了互斥体类型使用的精确错误代码。

底线:互斥锁是可锁定的,但也增加了一些更具体的限制。