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 中文站