IF的原子性和以下陈述

时间:2016-12-03 07:32:45

标签: c++ multithreading atomic lock-free hazard

这是A. Williams C ++ Concurrency in Action一书,带有危险指针的无锁堆栈主题。假设我对它有所了解,只有两行,这里它们是(source这里):

// code before
if (old_head) {
res.swap(old_head->data);
// code after

问题是:可以另一个线程删除(修改等)" old_head"它被解除引用之前的指针(old_head->数据)?逻辑说没有导致整个威廉姆斯'代码是错误的,但我怀疑它是否是一种原子操作。你觉得怎么样?

0 个答案:

没有答案