原子地执行互斥锁功能意味着什么?

时间:2019-03-17 14:05:31

标签: operating-system locking mutex atomic

声明必须对Aquire()或release()进行原子调用。那是什么意思?

acquire() {
   while (!available)
      ; /* busy wait */
   available = false;;
}
   do {
      (acquire lock)
         critical section
      (release lock)
         remainder section
   } while (true);

release() {
   available = true;
}

1 个答案:

答案 0 :(得分:0)

atomic操作意味着它将完全完成或根本没有完成。无法在 MIDDLE 中终止/终止/终止该操作。

原子操作主要用于多线程编程。这些操作用于保持关键部分/变量的正常运行,因为许多线程竞相执行。

Anthony Williams撰写的“ Concurrency in Action”是了解C ++中原子操作和并发的一个好地方