1
我有下面的代碼片段thread_specific_ptr線程安全的訪問
class MCSLock
{
static boost::thread_specific_ptr<mcs_lock> tls_node;
public:
MCSLock()
{
if(tls_node.get() == 0)
tls_node.reset(new mcs_lock());
}
};
我的理解是,每個線程都有它允許tls_node自己的空間。這意味着我們調用get()和reset()的構造函數是線程安全的。
我的理解是否正確?
謝謝。