相关疑难解决方法(0)

我必须明确调用原子加载/存储吗?

C++ 11引入了std::atomic<>模板库.该标准指定原子设置/获取由多个线程共享的变量的store()load()操作.

我的问题是分配和访问操作也是原子的吗?

即,是:

std::atomic<bool> stop(false);
...
void thread_1_run_until_stopped()
{
    if(!stop.load())
        /* do stuff */
}

void thread_2_set_stop()
{        
    stop.store(true);
}
Run Code Online (Sandbox Code Playgroud)

相当于:

void thread_1_run_until_stopped()
{
    if(!stop)
        /* do stuff */
}

void thread_2_set_stop()
{        
    stop = true;
}
Run Code Online (Sandbox Code Playgroud)

c++ atomic c++11

41
推荐指数
2
解决办法
2万
查看次数

标签 统计

atomic ×1

c++ ×1

c++11 ×1