28

通常のpythonキューのように、pythonでマルチプロセッシングキューをクリアする方法を知りたいだけです。例えば:

from multiprocessing import Queue  # multiprocessing queue
from Queue import Queue            # normal queue

multi_q = Queue()
normal_q = Queue()
multi_q.clear()                    # or multi_q.queue.clear() 

「Queue」オブジェクトには「clear」属性がありません

normal_q.queue.clear() # This is ok
4

4 に答える 4

68

そこで、Queue クラスを見てみましょう。次のコードを試してみてください。

while not some_queue.empty():
    some_queue.get()  # as docs say: Remove and return an item from the queue.
于 2013-05-09T13:16:34.827 に答える
-1

私は初心者なので怒らないでください。

.Queue() 変数を再定義してみませんか?

import multiprocessing as mp

q = mp.Queue()
chunk = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for i in chunk:
    q.put(i)
print(q.empty())

q = mp.Queue()
print(q.empty())

私の出力:

>>False
>>True

只今独学中なので間違っていたらご指摘ください

于 2021-04-28T01:21:09.250 に答える