以原子方式执行互斥锁功能意味着什么?

问题描述 投票:0回答:1

声明必须以原子方式执行对acquire()或release()的调用。那是什么意思?

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

release() {
   available = true;
}
operating-system locking mutex atomic
1个回答
0
投票

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

原子操作主要用于多线程编程。这些操作用于保持关键部分/变量理智的健全性,因为许多线程竞争执行。

阅读关于C ++中的原子操作和并发性的好地方是Anthony Williams的“Concurrency in Action”

© www.soinside.com 2019 - 2024. All rights reserved.