Minoruо, надо было сразу доки на Раст читать, там по-человечески написано:
> with SeqCst, no re-ordering of reads and writes across this point is allowed.
> with Release, preceding reads and writes cannot be moved past subsequent writes.
> with Acquire, subsequent reads and writes cannot be moved ahead of preceding reads.
> with AcqRel, both of the above rules are enforced.
https://doc.rust-lang.org/std/sync/atomic/fn.compiler_fence.html