以原子方式执行互斥锁功能是什么意思?
What does it mean to perform mutex locks functions atomically?
声明必须以原子方式执行对 acquire() 或 release() 的调用。他们这是什么意思?
acquire() {
while (!available)
; /* busy wait */
available = false;;
}
do {
(acquire lock)
critical section
(release lock)
remainder section
} while (true);
release() {
available = true;
}
一个atomic
操作意味着它将完全完成或根本没有完成。 MIDDLE.
中的操作不能是stopped/killed/ended
原子操作多用于多线程编程。这些操作用于保持关键section/variable理智的健全,因为许多线程都在争相执行。
了解 C++ 中的原子操作和并发的好地方是 "Concurrency in Action" Anthony Williams
声明必须以原子方式执行对 acquire() 或 release() 的调用。他们这是什么意思?
acquire() {
while (!available)
; /* busy wait */
available = false;;
}
do {
(acquire lock)
critical section
(release lock)
remainder section
} while (true);
release() {
available = true;
}
一个atomic
操作意味着它将完全完成或根本没有完成。 MIDDLE.
原子操作多用于多线程编程。这些操作用于保持关键section/variable理智的健全,因为许多线程都在争相执行。
了解 C++ 中的原子操作和并发的好地方是 "Concurrency in Action" Anthony Williams