zmq_atomic_counter_new - create a new atomic counter
Contents
Description
The zmq_atomic_counter_new function creates a new atomic counter. You can use this in multithreaded
applications to do, for example, reference counting of shared objects. The atomic counter is at least 32
bits large. This function uses platform specific atomic operations.
Example
Testcodeforatomiccounters.
void *counter = zmq_atomic_counter_new ();
assert (zmq_atomic_counter_value (counter) == 0);
assert (zmq_atomic_counter_inc (counter) == 0);
assert (zmq_atomic_counter_inc (counter) == 1);
assert (zmq_atomic_counter_inc (counter) == 2);
assert (zmq_atomic_counter_value (counter) == 3);
assert (zmq_atomic_counter_dec (counter) == 1);
assert (zmq_atomic_counter_dec (counter) == 1);
assert (zmq_atomic_counter_dec (counter) == 0);
zmq_atomic_counter_set (counter, 2);
assert (zmq_atomic_counter_dec (counter) == 1);
assert (zmq_atomic_counter_dec (counter) == 0);
zmq_atomic_counter_destroy (&counter);
return 0;
Name
zmq_atomic_counter_new - create a new atomic counter
Return Value
The zmq_atomic_counter_new() function returns the new atomic counter if successful. Otherwise it returns
NULL.
See Also
zmq_atomic_counter_set(3) zmq_atomic_counter_inc(3) zmq_atomic_counter_dec(3) zmq_atomic_counter_value(3) zmq_atomic_counter_destroy(3)
Synopsis
void*zmq_atomic_counter_new(void);
