当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。