W3cubDocs

/Rust

Function std::sync::atomic::fence

pub fn fence(order: Ordering)

An atomic fence.

A fence 'A' which has Release ordering semantics, synchronizes with a fence 'B' with (at least) Acquire semantics, if and only if there exists atomic operations X and Y, both operating on some atomic object 'M' such that A is sequenced before X, Y is synchronized before B and Y observes the change to M. This provides a happens-before dependence between A and B.

Atomic operations with Release or Acquire semantics can also synchronize with a fence.

A fence which has SeqCst ordering, in addition to having both Acquire and Release semantics, participates in the global program order of the other SeqCst operations and/or fences.

Accepts Acquire, Release, AcqRel and SeqCst orderings.

Panics

Panics if order is Relaxed.

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/sync/atomic/fn.fence.html