原子有符號整數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個字節,返回:原子整數的值