名称

zmq_atomic_counter_dec - 递减原子计数器

概要

int zmq_atomic_counter_dec (void *counter);

描述

zmq_atomic_counter_dec 函数以线程安全的方式递减原子计数器。此函数使用平台特定的原子操作。

返回值

zmq_atomic_counter_dec() 函数在递减后,如果计数器大于零则返回 1,如果计数器达到零则返回零。

示例

原子计数器的测试代码
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;

另见

作者

本页面由 0MQ 社区编写。如需修改,请阅读 0MQ 贡献政策,链接为 https://zeromq.cn/how-to-contribute/