【发布时间】:2017-05-29 16:44:11
【问题描述】:
我有一系列想要以原子方式运行的语句。为简单起见,假设它们包含在块语句中:
{
// statements...
}
在 C++14 中是否有任何直截了当的方法来做这样的事情?
为了澄清,我希望这个块被执行,就好像它只是一个原子操作一样。我没有要使用互斥锁保护的关键部分。问题是捆绑的操作应该一个接一个地执行,而不需要在序列中的第一条语句和最后一条语句之间进行多次上下文切换。
【问题讨论】:
-
还没有。未来的计划。暂时使用
std::unique_lock。 -
@DeiDei 在未来的任何 C++ 中,如果没有实时内核的设施来防止原子块期间的中断和线程调度,这怎么可能?
-
@RichardCritten 看看N4514。它提出了
synchronized和atomic块。
标签: c++ c++11 visual-c++ c++14