【问题标题】:Share variable between threads in python threadpool在 python 线程池中的线程之间共享变量
【发布时间】:2023-04-05 12:55:01
【问题描述】:

我有这样的代码:

from multiprocessing import Pool

def do_stuff(idx):
    for i in items[idx:idx+20]:
         # do stuff with idx

items = # a huge nested list
pool = Pool(5)
pool.map(do_stuff, range(0, len(items), 20))
pool.close()
pool.join()

问题是线程池不共享items,而是为每个线程创建副本,这是一个问题,因为列表很大并且占用内存。有没有办法以共享items 的方式实现这一点?找到了一些 global 的例子,它们在基本的 thread 库中工作,但似乎不适用于 multiprocessing 库。

谢谢!

【问题讨论】:

    标签:
    python
    multithreading
    python-2.7
    multiprocessing
    threadpool