Multithreading 如何将铿锵线程注释与RAII样式的try锁一起使用?

Multithreading 如何将铿锵线程注释与RAII样式的try锁一起使用?,multithreading,c++11,clang++,Multithreading,C++11,Clang++,我想用叮当作响的线程注释来包装以下代码: std::mutex mutex; int计数器=0;//应在互斥锁锁定时访问 std::unique_lock(互斥锁,std::try_to_lock); 如果(锁定){ ++计数器; } 我想使用一个RAII锁(std::unique_-guard),我还想向这段代码添加线程注释 class\uuuuuuuu属性(能力(“互斥”)互斥{ 公众: Mutex()=默认值; std::mutex&getInternalMutex(){return m

我想用叮当作响的线程注释来包装以下代码:

std::mutex mutex;
int计数器=0;//应在互斥锁锁定时访问
std::unique_lock(互斥锁,std::try_to_lock);
如果(锁定){
++计数器;
}
我想使用一个RAII锁(
std::unique_-guard
),我还想向这段代码添加线程注释

class\uuuuuuuu属性(能力(“互斥”)互斥{
公众:
Mutex()=默认值;
std::mutex&getInternalMutex(){return m_mutex;}
私人:
std::mutex m_mutex{};
};
类uuu属性uuu((作用域_可锁定))TryLock{
公众:
TryLock(互斥和互斥)
//这里的问题:_属性__((获取能力(互斥)))
//不合适(锁可能失效),但
//属性(try_acquire_capability(true,mutex)))
//也不能使用(要求在方法中使用
//返回锁是否成功)
:m_try_lock(mutex.getInternalMutex(),std::try_to_lock){}
~TryLock()uuu属性_uuu((释放能力))=默认值;
bool isLocked()常量{
返回!!尝试锁定;
}
私人:
std::唯一的锁m\u try\u锁;
};
clang只提供了
try\u acquire\u功能
,这在这里不适用(因为它应该用于返回布尔值的函数,指示锁是否成功)

对这个锁进行注释的正确方法是什么