Python多线程处理堵塞内存

时间:2018-03-22 14:48:34

标签: python multithreading memory download

我是Python中多线程处理的新手,但是一直使用以下代码来运行多线程下载,但在运行了几个小时后,它会随着时间的推移而耗尽我的内存,然后由于缺少可用内存而停止。我试图找出一种替代方法,允许我运行这个过程几个小时,而不必担心内存消耗:

def worker()
    while True:
        item = jq.get()
        download_stuff(item)
        jq.task_done()

input_list = [1,2,3,4,5,6,7,8,9...]
num_threads = 8
q = Queue
jq = JoinableQueue()
for i in range(num_threads):
    t = Thread(target=worker)
    t.daemon = True
    t.start()

for item in input_list:
    jq.put(item)

jq.join()

0 个答案:

没有答案