Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Lockfree.Backoff
SourceTruncated exponential backoff.
Generally, a backoff mechanism adjusts time waited between retries to ensure the retries will not put too much pressure on some underlying system. This particular implementation is built for reducing contention in lockfree algorithms.
Under the hood, it uses relevant pause instruction to avoid adverse microarchitectural effects present in naive busy-looping.
t
type of a backoff object.
create
creates a new instance of backoff. max_wait
, min_wait
override the upper and lower bound on the number of spins executed by once
.
once
executes one wait, whose length increases for every consecutive attempt (until max
is reached).