Keeping processor caches consistent.

Synchronization primitive that opens once a condition occurs.

Scheduling designed to distribute resources fairly.

Failure caused by insufficient memory.

Operation controlling memory access ordering.

Lock allowing multiple readers or one writer.

Task waits indefinitely for resources or execution.

Preallocated collection of memory blocks.

Instruction enforcing memory ordering.

Safe for concurrent thread access.