我对本质上是 pthread 的包装器的第三方库有疑问。
它的join函数是这样实现的:
bool Join() throw ()
{
ThreadState s;
{
CCriticalSectionLock L(m_CS);
s = m_CurrentThreadState;
}
if (s == Started) {...}
}
不应该将if (s == Started) {...}
代码放在定义锁的块中吗?
实际上,关键部分仅包括变量赋值,作为基本操作不需要它。
谢谢你。