Function crossbeam::epoch::pin [] [src]

pub fn pin() -> Guard

Pin the current epoch.

Threads generally pin before interacting with a lock-free data structure. Pinning requires a full memory barrier, so is somewhat expensive. It is rentrant -- you can safely acquire nested guards, and only the first guard requires a barrier. Thus, in cases where you expect to perform several lock-free operations in quick succession, you may consider pinning around the entire set of operations.