Skúšam použiť program na Windows:
import random, time, Queue
from multiprocessing.managers import BaseManager
task_queue = Queue.Queue()
result_queue = Queue.Queue()
class QueueManager(BaseManager):
pass
QueueManager.register("get_task_queue", callable=lambda: task_queue)
QueueManager.register("get_result_queue", callable=lambda: result_queue)
manager = QueueManager(address=("", 5000), authkey="abc")
manager.start()
task = manager.get_task_queue()
result = manager.get_result_queue()
for i in range(10):
n = random.randint(0, 10000)
print("Put task %d..." % n)
task.put(n)
print("Try get results...")
for i in range(10):
r = result.get(timeout=10)
print("Result: %s" %r)
manager.shutdown()
Dostanem CHYBU:
ImportError: No module named "Queue"
Ale bežím to v Ubuntu, funguje to. Hľadám Queue v stackoverflow, pypi.python.org pre Windows a vyskúšam pip install Queue. Nakoniec to zlyhalo. Ako teda používam modul fronty v oknách?
odpovede:
2 pre odpoveď č. 1Myslím, že chcete použiť Queue
z modulu na viacnásobné spracovanie, potom importovať týmto spôsobom -
from multiprocessing import Queue
Ak chcete použiť štruktúru údajov frontu, použijete malé písmená queue
.
import queue