Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

acquire load

A load that no later memory access of the same thread may move ahead of; used to read a flag before reading the data it guards.

An acquire load (ARM64 ldar/ldapr, RISC-V lr/amo with .aq or a following fence r,rw, C++ memory_order_acquire) orders itself before all later loads and stores in program order; on x86-64 every ordinary load already has acquire semantics.

Examples

  • The reader spins on ready.load(std::memory_order_acquire); once it sees true, it also sees data filled.

Read the full section →