gpt4 book ai didi

c++ - 多线程——我需要锁定读取数据吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:25:56 25 4
gpt4 key购买 nike

看这段代码:

int data=5;

void Thread1()
{
if(data==5)
{
//nothing
}
}

void Thread2()
{
if(data==2)
{
//nothing
}
}

在这种情况下,我是否需要在 if(data==..) 之前使用 EnterCriticalSection/MutexLock?

最佳答案

如果您只是读取数据,则不需要锁定。

如果您正在写入数据并且您关心读取的顺序数据,那么您需要使用 CS 来确保顺序正确。 (请注意,如果对象具有未在原子操作中更新的更复杂状态,那么您可能更关心读/写的顺序)。

关于c++ - 多线程——我需要锁定读取数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3242255/

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