【发布时间】: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
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在 python 线程池中的线程之间共享变量 - Python技术站