名称

zmq_atomic_counter_new - 创建一个新的原子计数器

概要

void *zmq_atomic_counter_new (void);

说明

zmq_atomic_counter_new 函数创建一个新的原子计数器。您可以在多线程应用程序中使用它,例如,用于共享对象的引用计数。原子计数器至少为 32 位大小。此函数使用特定于平台的原子操作。

返回值

zmq_atomic_counter_new() 函数在成功时返回新的原子计数器。否则返回 NULL。

示例

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