python多进程处理全局变量列表数据代码示例
时间: 2023-10-01 18:11:48 浏览: 149
Python多进程实例
下面是一个简单的示例代码,用于在多进程中处理全局变量列表数据:
```python
import multiprocessing
# 全局变量列表
my_list = [1, 2, 3, 4, 5]
# 处理函数,将列表中的元素加倍
def process_list():
global my_list
for i in range(len(my_list)):
my_list[i] *= 2
if __name__ == '__main__':
# 创建多进程
p1 = multiprocessing.Process(target=process_list)
p2 = multiprocessing.Process(target=process_list)
# 启动进程
p1.start()
p2.start()
# 等待进程结束
p1.join()
p2.join()
# 输出结果
print(my_list)
```
在上面的代码中,我们定义了一个全局变量列表 `my_list`,然后定义了一个处理函数 `process_list`,该函数会将列表中的每个元素加倍。在 `process_list` 函数中,我们使用了 `global` 关键字来引用全局变量 `my_list`。
然后,我们创建了两个多进程对象 `p1` 和 `p2`,并将 `process_list` 函数作为进程的目标函数。接着,我们启动了这两个进程,并使用 `join` 方法等待进程结束。最后,我们输出了处理完的列表 `my_list`。
需要注意的是,由于多进程之间是独立的,因此在多进程中修改全局变量可能会导致意外的结果,因此建议在处理全局变量时,尽可能避免多进程之间的竞争。
阅读全文