Query: atomic_ops
OS: opensolaris
Section: 3c
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
atomic_ops(3C) Standard C Library Functions atomic_ops(3C)NAMEatomic_ops - atomic operationsSYNOPSIS#include <atomic.h>DESCRIPTIONThis collection of functions provides atomic memory operations. There are 8 different classes of atomic operations: atomic_add(3C) These functions provide an atomic addition of a signed value to a variable. atomic_and(3C) These functions provide an atomic logical 'and' of a value to a variable. atomic_bits(3C) These functions provide atomic bit setting and clearing within a variable. atomic_cas(3C) These functions provide an atomic comparison of a value with a variable. If the comparison is equal, then swap in a new value for the variable, returning the old value of the variable in either case. atomic_dec(3C) These functions provide an atomic decrement on a variable. atomic_inc(3C) These functions provide an atomic increment on a variable. atomic_or(3C) These functions provide an atomic logical 'or' of a value to a variable. atomic_swap(3C) These functions provide an atomic swap of a value with a variable, returning the old value of the variable.ATTRIBUTESSee attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Stable | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+SEE ALSOatomic_add(3C), atomic_and(3C), atomic_bits(3C), atomic_cas(3C), atomic_dec(3C), atomic_inc(3C), atomic_or(3C), atomic_swap(3C), mem- bar_ops(3C), attributes(5)NOTESAtomic instructions ensure global visibility of atomically-modified variables on completion. In a relaxed store order system, this does not guarantee that the visibility of other variables will be synchronized with the completion of the atomic instruction. If such synchro- nization is required, memory barrier instructions must be used. See membar_ops(3C). Atomic instructions can be expensive. since they require synchronization to occur at a hardware level. This means they should be used with care to ensure that forcing hardware level synchronization occurs a minimum number of times. For example, if you have several variables that need to be incremented as a group, and each needs to be done atomically, then do so with a mutex lock protecting all of them being incremented rather than using the atomic_inc(3C) operation on each of them. SunOS 5.11 12 Aug 2004 atomic_ops(3C)
Related Man Pages |
---|
atomic_ops(9f) - opensolaris |
atomic_ops(3c) - opensolaris |
membar_enter(3c) - opensolaris |
atomic_ops(3) - netbsd |
atomic_ops(3c) - linux |
Similar Topics in the Unix Linux Community |
---|
Atomic Tanks 2.9 (Stable branch) |
Atomic Tanks 3.1 (Stable branch) |
pthread_mutex_lock in ANSI C vs using Atomic builtins of GCC |
system calls and atomic operation |
Atomic Operations |