gpt4 book ai didi

python - 为什么 SimpleQueue 的 put 方法会卡住?

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:09 36 4
gpt4 key购买 nike

我正在使用 multiprocessing.queues 中的 SimpleQueue 类。在异常终止之前,我的程序运行良好。现在,每当我运行它时,它都会在 put 调用处卡住,然后再执行任何 get 调用。我的猜测是 SimpleQueue 使用文件或类似的东西作为底层通信方法并且它已损坏。

关于如何让 SimpleQueue 再次工作的任何想法?最好不重启电脑,多人同时使用的共享机器。

最佳答案

对我来说,SimpleQueue.put() 似乎在我进行大量 put 调用时卡住,这可能是问题所在吗? (OS X, python ,2.7.10)

In [1]: from multiprocessing.queues import SimpleQueue
...: from time import time
...:
...: def put_jobs(n):
...: q = SimpleQueue()
...: t0 = time()
...: for i in xrange(n):
...: q.put((i, (42, 0)))
...: print '%.3f' % (time() - t0)
...:

In [6]: put_jobs(1000)
0.004

In [7]: put_jobs(1000)
0.004

In [8]: put_jobs(2000)
0.007

In [9]: put_jobs(3000)
0.010

In [10]: put_jobs(4000)

(几分钟不回来)

关于python - 为什么 SimpleQueue 的 put 方法会卡住?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21272183/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com