我有以下情况
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 也可以用对象而不是数字填充。
我应该如何以安全的方式做到这一点
此代码包含在类方法中。
要完成您想要做的事情,最好的方法是使用 Queue 对象来允许主循环的子线程能够根据需要拉入对象。这对于如何在多线程 python 中控制进程之间的信息有很好的信息:
https://pymotw.com/2/multiprocessing/communication.html