當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python multiprocessing.Value用法及代碼示例


用法:

multiprocessing.Value(typecode_or_type, *args, lock=True)

返回從共享內存分配的ctypes 對象。默認情況下,返回值實際上是對象的同步包裝器。可以通過 Valuevalue 屬性訪問對象本身。

typecode_or_type 確定返回對象的類型:它是 ctypes 類型或 array 模塊使用的那種類型的單字符類型代碼。 *args 被傳遞給該類型的構造函數。

如果lockTrue(默認值),則創建一個新的遞歸鎖對象以同步對值的訪問。如果 lockLockRLock 對象,那麽它將用於同步對值的訪問。如果lockFalse,那麽對返回對象的訪問將不會被鎖自動保護,所以它不一定是“process-safe”。

+= 這樣涉及讀取和寫入的操作不是原子的。因此,例如,如果您想以原子方式遞增共享值,那麽僅僅這樣做是不夠的

counter.value += 1

假設關聯的鎖是遞歸的(默認情況下),您可以改為

with counter.get_lock():
    counter.value += 1

請注意,lock 是僅關鍵字參數。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 multiprocessing.Value。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。