通过Python中的多线程填充父进程中的数组

时间:2019-08-16 15:38:24

标签: python multiprocessing python-multiprocessing

我有以下情况

    def f(foo, bar, i):
        foo[i] = 42
        bar[i] = 76

    foo, bar = [[]]*24, [[]]*24
    g = partial(f, foo=foo, bar=bar)

    ... Call f in a multi-threaded way and have foo and bar filled ...

父流程中的Foo和bar也可以用对象而不是数字填充。

我应该如何安全地进行操作

此代码包含在类方法中。

1 个答案:

答案 0 :(得分:0)

要完成您想做的最好的方法,就是使用Queue对象,以允许主循环的子线程能够按需插入对象。对于如何在多线程python中的进程之间控制信息,这具有很好的信息:

https://pymotw.com/2/multiprocessing/communication.html