from multiprocessing import Process, Value, Array
def f(n, a):
n.value = 3.14 # 修改共享的数值
for i in range(len(a)):
a[i] = -a[i] # 修改共享的数组元素
if __name__ == '__main__':
# 创建一个共享的双精度浮点数和一个共享的整数数组
num = Value('d', 0.0)
arr = Array('i', range(10))
# 创建一个新的进程,目标函数为f,参数为num和arr
p = Process(target=f, args=(num, arr))
p.start() # 启动进程
p.join() # 等待进程结束
print(num.value) # 输出修改后的共享数值
print(arr[:]) # 输出修改后的共享数组
multiprocessing
模块中导入 Process
, Value
, 和 Array
类。f
:这个函数接收两个参数 n
和 a
,分别是一个共享的数值和一个共享的数组。函数内部修改了这些共享数据。Value
创建一个共享的双精度浮点数 num
,初始值为 0.0
。Array
创建一个共享的整数数组 arr
,包含范围从 0
到 9
的整数。p
,目标函数为 f
,并传递 num
和 arr
作为参数。p.start()
启动进程。p.join()
等待进程结束。这段代码展示了如何使用 Python 的 multiprocessing
模块创建多个进程,并在不同进程之间共享数据。
上一篇:字符串切片操作python
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站