函数名称:Swoole\Atomic::sub()
适用版本:Swoole 4.2.0及以上版本
函数说明: Swoole\Atomic::sub() 方法用于对原子计数器进行递减操作。原子计数器是一种线程安全的计数器,可以在多个进程或者线程中进行操作而不会产生竞争条件。
函数原型: public Swoole\Atomic::sub(int $sub_value = 1): int
参数说明:
- $sub_value(可选):要减去的值,默认为1。必须是一个整数。
返回值:
- 函数执行成功时,返回减去指定值后的原子计数器的当前值。
示例代码:
$atomic = new Swoole\Atomic(10); // 创建一个原子计数器,初始值为10
echo "当前计数器的值:" . $atomic->sub() . PHP_EOL; // 将计数器减去默认值1并输出结果
$sub_value = 3;
echo "将计数器减去{$sub_value}后的值:" . $atomic->sub($sub_value) . PHP_EOL; // 将计数器减去指定值并输出结果
输出结果:
当前计数器的值:9
将计数器减去3后的值:6
注意事项:
- Swoole\Atomic::sub() 方法只能用于减法操作,如果需要进行加法操作,请使用 Swoole\Atomic::add() 方法。
- 原子计数器的值可以为负数,表示递减到负无穷大。
- 在多个进程或者线程中同时对原子计数器进行操作时,Swoole 会自动处理并保证操作的原子性。