gpt4 book ai didi

c++ - 加入线程

转载 作者:太空宇宙 更新时间:2023-11-04 15:47:56 25 4
gpt4 key购买 nike

我对第三方库有疑问,它本质上是 pthread 的包装器。
它的join函数是这样实现的:

            bool Join() throw ()
{
ThreadState s;
{
CCriticalSectionLock L(m_CS);
s = m_CurrentThreadState;
}

if (s == Started) {...}
}

不应该将 if (s == Started) {...} 代码放在定义锁的 block 中吗?

实际上,临界区仅包含变量赋值,作为基本操作不需要它。

谢谢。

最佳答案

关键部分的作用是保护对 m_CurrentThreadState 字段的读取,该字段可能会被其他线程更改。

关于c++ - 加入线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13686727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com