Essentially, if you acquire at the start of a critical section, and release at the end, anything in between is trapped.

Relaxed

Relaxed means the compiler will take it easy and that all reorderings are possible.