原子无符号整数API¶
模块shared_atomic
原子无符号整数提供原子操作,原子无符号整数必须不超过8字节
原子无符号整数的构造函数,原子无符号整数不能超过8字节
- 参数
value – 整数的初始值,如果超过8字节,会失败。
mode – 原子无符号整数的共享模式,’singleprocessing’或者’s’是单进程模式,’multiprocessing’或者’m’是多进程模式在windows平台上只支持单进程模式,设成’multiprocessing’或者’m’会被忽略。
获取原子无符号整数的值,整数应该不长于8个字节,返回:原子整数的值
设置原子无符号整数的值,整数应该不长于8个字节。
原子增加和获取
- 参数
n – 增加的数据
- 返回
2个值的和
原子’与’和获取
- 参数
n – 原子’与’的另一个操作数
- 返回
结果值
原子比较和设置,比较指针v和e指向的内容,如果相等,这个过程就是读-修改-写的操作,将n的内容写入v,如果不相等,是只读操作,v的内容写入e. :参数 v: 指针v, 参数e:指针e 参数n将要设置的值,返回:指针v和e指向的内容是否相等。
- 参数
e – e指针
n – 将要设置的值
- 返回
指针v和指针e指向的值是否一样
原子增加和获取
- 参数
n – 增加的数据
- 返回
指针v指向的原值
原子获取和’与’
- 参数
n – 原子’与’的另一个操作数
- 返回
结果
原子获取和’与非’
- 参数
n – ‘与非’操作的另一个操作数
- 返回
结果
原子获取和’或’
- 参数
n – ‘或’操作的另一个操作数
- 返回
结果
原子减少和获取
- 参数
n – 减少的数据
encoding – 字符集
- 返回
指针v指向的原值
原子获取和’异或’
- 参数
n – 异或的数据
- 返回
结果
原子获取和设置
- 参数
n – 设置的数值
- 返回
原值
原子’与非’和获取
- 参数
n – ‘与非’操作的另一个操作数
- 返回
结果值
原子’异或’和获取
- 参数
n – 异或的数据
- 返回
结果值
3个指针之间两两交换值,将n值存入v然后将v存入r
- 参数
n – n指针
r – r指针
- 返回
无
原子存储值
- 参数
n – 指向将要设置的值的指针
- 返回
无
原子减少和获取
- 参数
n – 减少的数据
- 返回
两个值的差值
原子’异或’和获取
- 参数
n – 异或的数据
- 返回
结果值
获取原子无符号整数的值,整数应该不长于8个字节,返回:原子整数的值
原子增加和获取
- 参数
v – 设置和获取的指针
n – 增加的数据
- 返回
2个值的和
原子’与’和获取
- 参数
v – 需要’与’操作的原子整数指针
n – 原子’与’的另一个操作数
- 返回
结果值
原子比较和设置,比较指针v和e指向的内容,如果相等,这个过程就是读-修改-写的操作,将n的内容写入v,如果不相等,是只读操作,v的内容写入e. :参数 v: 指针v, 参数e:指针e 参数n将要设置的值,返回:指针v和e指向的内容是否相等。
原子增加和获取
- 参数
v – 需要增加的原子整数指针
n – 增加的数据
- 返回
指针v指向的原值
原子获取和’与’
- 参数
v – 需要’与’操作的原子整数指针
n – 原子’与’的另一个操作数
- 返回
结果
原子获取和’与非’
- 参数
v – 需要’与非’的原子整数指针
n – ‘与非’操作的另一个操作数
- 返回
结果
原子获取和’或’
- 参数
v – 需要’或者’的原子整数指针
n – ‘或’操作的另一个操作数
- 返回
结果
原子减少和获取
- 参数
v – 需要减少的原子整数指针
n – 减少的数据
encoding – 字符集
- 返回
指针v指向的原值
原子获取和’异或’
- 参数
v – 需要’异或’的原子整数指针
n – 异或的数据
- 返回
结果
原子获取和设置
- 参数
v – 需要获取和设置的原子整数指针
n – 设置的数值
- 返回
原值
原子’与非’和获取
- 参数
v – 需要’与非’的原子整数指针
n – ‘与非’操作的另一个操作数
- 返回
结果值
原子’异或’和获取
- 参数
v – 需要’异或’的原子整数指针
n – 异或的数据
- 返回
结果值
3个指针之间两两交换值,将n值存入v然后将v存入r
- 参数
v – v指针
n – n指针
r – r指针
- 返回
无
原子存储值
- 参数
v – 需要设置的原子整数指针
n – 指向将要设置的值的指针
- 返回
无
原子减少和获取
- 参数
v – 需要减少和获取的原子整数指针
n – 减少的数据
- 返回
两个值的差值
原子’异或’和获取
- 参数
v – 需要’异或’的原子整数指针
n – 异或的数据
- 返回
结果值
- class shared_atomic.atomic_uint.atomic_uint(value: int, mode: str = 'singleprocessing')
原子无符号整数提供原子操作,原子无符号整数必须不超过8字节
原子无符号整数的构造函数,原子无符号整数不能超过8字节
- 参数
value – 整数的初始值,如果超过8字节,会失败。
mode – 原子无符号整数的共享模式,’singleprocessing’或者’s’是单进程模式,’multiprocessing’或者’m’是多进程模式在windows平台上只支持单进程模式,设成’multiprocessing’或者’m’会被忽略。
- get() int
获取原子无符号整数的值,整数应该不长于8个字节,返回:原子整数的值
- set(value: int)
设置原子无符号整数的值,整数应该不长于8个字节。
- uint_add_and_fetch(n: int) int
原子增加和获取
- 参数
n – 增加的数据
- 返回
2个值的和
- uint_and_and_fetch(n: int) int
原子’与’和获取
- 参数
n – 原子’与’的另一个操作数
- 返回
结果值
- uint_compare_and_set(e: self_atomic_uint, n: int) bool
原子比较和设置,比较指针v和e指向的内容,如果相等,这个过程就是读-修改-写的操作,将n的内容写入v,如果不相等,是只读操作,v的内容写入e. :参数 v: 指针v, 参数e:指针e 参数n将要设置的值,返回:指针v和e指向的内容是否相等。
- 参数
e – e指针
n – 将要设置的值
- 返回
指针v和指针e指向的值是否一样
- uint_fetch_and_add(n: int) int
原子增加和获取
- 参数
n – 增加的数据
- 返回
指针v指向的原值
- uint_fetch_and_and(n: int) int
原子获取和’与’
- 参数
n – 原子’与’的另一个操作数
- 返回
结果
- uint_fetch_and_nand(n: int) int
原子获取和’与非’
- 参数
n – ‘与非’操作的另一个操作数
- 返回
结果
- uint_fetch_and_or(n: int) int
原子获取和’或’
- 参数
n – ‘或’操作的另一个操作数
- 返回
结果
- uint_fetch_and_sub(n: int) int
原子减少和获取
- 参数
n – 减少的数据
encoding – 字符集
- 返回
指针v指向的原值
- uint_fetch_and_xor(n: int) int
原子获取和’异或’
- 参数
n – 异或的数据
- 返回
结果
- uint_get_and_set(n: int) int
原子获取和设置
- 参数
n – 设置的数值
- 返回
原值
- uint_nand_and_fetch(n: int) int
原子’与非’和获取
- 参数
n – ‘与非’操作的另一个操作数
- 返回
结果值
- uint_or_and_fetch(n: int) int
原子’异或’和获取
- 参数
n – 异或的数据
- 返回
结果值
- uint_shift(n: self_atomic_uint, r: self_atomic_uint)
3个指针之间两两交换值,将n值存入v然后将v存入r
- 参数
n – n指针
r – r指针
- 返回
无
- uint_store(n: self_atomic_uint)
原子存储值
- 参数
n – 指向将要设置的值的指针
- 返回
无
- uint_sub_and_fetch(n: int) int
原子减少和获取
- 参数
n – 减少的数据
- 返回
两个值的差值
- uint_xor_and_fetch(n: int) int
原子’异或’和获取
- 参数
n – 异或的数据
- 返回
结果值
- property value: int
获取原子无符号整数的值,整数应该不长于8个字节,返回:原子整数的值