看起来BasicLockable概念对于lock_guard来说已经足够了,但是在标准草案(N3242)中,Mutex模板参数需要Lockable。任何原因 ?
问问题
286 次
1 回答
2
在 n3290 (§30.4.2.1[thread.lock.guard]/1) 中,它说,
类型的对象
lock_guard
控制范围内可锁定对象的所有权。对象在对象的整个生命周期(3.8)中lock_guard
维护可锁定对象的所有权。如果引用的可锁定对象在对象的整个生命周期内都不存在,则lock_guard
程序的行为是未定义的。供货型号应符合要求(30.2.5.2)。pm
lock_guard
Mutex
BasicLockable
n3242 中的第 2 段可能是编辑错误。这是库缺陷 2023: and的要求不正确lock_guard
unique_lock
,并且在 n3290 中删除了该段落,如n3278:Recent Concurrency Issue Resolutions中所示
于 2012-12-16T12:11:30.283 回答