原子有符号整数API:¶
模块shared_atomic
原子有符号整数提供原子操作,不应该超过8字节
原子有符号整数的初始化函数,不应该超过8字节
- 参数
value – 整数的初始值,如果超过8字节,会失败。
mode – 原子有符号整数的共享模式,’singleprocessing’或者’s’是单进程模式,’multiprocessing’或者’m’是多进程模式在windows平台上只支持单进程模式,设成’multiprocessing’或者’m’会被忽略。
获取原子整数的值,整数应该不长于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字节
获取原子整数的值,整数应该不长于8个字节,返回:原子整数的值
原子增加和获取
- 参数
v – 设置和获取的原子整数
n – 增加的数据
- 返回
2个值的和
原子’与’和获取
- 参数
v – 需要’与’操作的原子整数指针
n – 原子’与’的另一个操作数
- 返回
结果值
原子比较和设置,比较指针v和e指向的内容,如果相等,这个过程就是读-修改-写的操作,将n的内容写入v,如果不相等,是只读操作,v的内容写入e. :参数 v: 指针v, 参数e:指针e 参数n将要设置的值,返回:指针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_int.atomic_int(value: int, mode: str = 'singleprocessing')
原子有符号整数提供原子操作,不应该超过8字节
原子有符号整数的初始化函数,不应该超过8字节
- 参数
value – 整数的初始值,如果超过8字节,会失败。
mode – 原子有符号整数的共享模式,’singleprocessing’或者’s’是单进程模式,’multiprocessing’或者’m’是多进程模式在windows平台上只支持单进程模式,设成’multiprocessing’或者’m’会被忽略。
- get() int
获取原子整数的值,整数应该不长于8个字节,返回:原子整数的值
- int_add_and_fetch(n: int) int
原子增加和获取
- 参数
n – 增加的数据
- 返回
2个值的和
- int_and_and_fetch(n: int) int
原子’与’和获取
- 参数
n – 原子’与’的另一个操作数
- 返回
结果值
- int_compare_and_set(e: self_atomic_int, n: int) bool
原子比较和设置,比较指针v和e指向的内容,如果相等,这个过程就是读-修改-写的操作,将n的内容写入v,如果不相等,是只读操作,v的内容写入e. :参数 v: 指针v, 参数e:指针e 参数n将要设置的值,返回:指针v和e指向的内容是否相等。
- 参数
e – e指针
n – 将要设置的值
- 返回
指针v和指针e指向的值是否一样
- int_fetch_and_add(n: int) int
原子增加和获取
- 参数
n – 增加的数据
- 返回
指针v指向的原值
- int_fetch_and_and(n: int) int
原子获取和’与’
- 参数
n – 原子’与’的另一个操作数
- 返回
结果
- int_fetch_and_nand(n: int) int
原子获取和’与非’
- 参数
n – ‘与非’操作的另一个操作数
- 返回
结果
- int_fetch_and_or(n: int) int
原子获取和’或’
- 参数
n – ‘或’操作的另一个操作数
- 返回
结果
- int_fetch_and_sub(n: int) int
原子减少和获取
- 参数
n – 减少的数据
encoding – 字符集
- 返回
指针v指向的原值
- int_fetch_and_xor(n: int) int
原子获取和’异或’
- 参数
n – 异或的数据
- 返回
结果
- int_get_and_set(n: int) int
原子获取和设置
- 参数
n – 设置的数值
- 返回
原值
- int_nand_and_fetch(n: int) int
原子’与非’和获取
- 参数
n – ‘与非’操作的另一个操作数
- 返回
结果值
- int_or_and_fetch(n: int) int
原子’异或’和获取
- 参数
n – 异或的数据
- 返回
结果值
- int_shift(n: self_atomic_int, r: self_atomic_int)
3个指针之间两两交换值,将n值存入v然后将v存入r
- 参数
n – n指针
r – r指针
- 返回
无
- int_store(n: self_atomic_int)
原子存储值
- 参数
n – 指向将要设置的值的指针
- 返回
无
- int_sub_and_fetch(n: int) int
原子减少和获取
- 参数
n – 减少的数据
- 返回
两个值的差值
- int_xor_and_fetch(n: int) int
原子’异或’和获取
- 参数
n – 异或的数据
- 返回
结果值
- set(value: int)
设置原子整数的值,整数应该长于8字节
- property value: int
获取原子整数的值,整数应该不长于8个字节,返回:原子整数的值