头发还很茂盛 2020-05-12 18:08 采纳率: 100%
浏览 1522
已采纳

请教python调用multiprocessing使用多进程修改全局变量问题

# 问题:

为了提高效率需要调用multiprocessing,然而发现在调用时无法修改全局变量。
请教如何达到使用多进程修改全局变量?
测试代码如下:

import multiprocessing
a = {}
def test(number):
    global a
    a[str(number)] = '数字' + str(number)

if __name__ == '__main__':
    for i in range(3):
        p = multiprocessing.Process(target=test, args=(i,))
        p.start()
    print(a)

最后打印的结果是:{} 而不是{'0': '数字0','1': '数字1','2': '数字2'}

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 OpenGL渲染效率
  • ¥60 关于网络前后端:丢包攻击、漏洞后门、渗透这些
  • ¥30 有关于html的制作个人网页
  • ¥15 stm32 lvgl+DMA,屏幕显示不全有条纹
  • ¥15 用java,swing,mysql实现模拟ATM机系统
  • ¥15 HTML5+CSS3题
  • ¥30 使用php如何制作一个国博门票抢票系统?(相关搜索:手机号|小程序)
  • ¥15 关于#数据库#的问题:每次实验都是系统直接导出数据,但是实验过程前会修改被实验件的结构类型,软件版本(如第一次实验为结构A,A01版本软件,A01版本软件)(相关搜索:数据类型)
  • ¥15 群晖docker无法连接代理服务器
  • ¥20 VBA将EXCEL数据写入JSON,中文不显示