from multiprocessing import Process, Value, Array
def modify_value(num, arr):
# 修改共享的值和数组
num.value = 3.1415927
for i in range(len(arr)):
arr[i] = -arr[i]
if __name__ == '__main__':
# 创建共享的值和数组
shared_num = Value('d', 0.0) # 'd' 表示双精度浮点数
shared_arr = Array('i', [1, 2, 3, 4, 5]) # 'i' 表示整数
# 创建子进程并传递共享的值和数组
p = Process(target=modify_value, args=(shared_num, shared_arr))
p.start()
p.join()
# 打印修改后的值和数组
print(f"Shared number: {shared_num.value}")
print(f"Shared array: {list(shared_arr)}")
导入模块:
Process
:用于创建子进程。Value
和 Array
:用于在进程间共享数据。定义函数 modify_value
:
num
和一个共享的整数数组 arr
。主程序部分:
Value
创建一个共享的双精度浮点数,初始值为 0.0
。Array
创建一个共享的整数数组 [1, 2, 3, 4, 5]
。p
,目标函数为 modify_value
,并传递共享的值和数组作为参数。通过这种方式,可以在多个进程中共享和修改数据。
下一篇:python异常处理
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站