我尝试在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()
我收到错误:
ImportError: No module named 'Queue'
但我在Ubuntu中运行它,它的工作原理。 我在stackoverflow中搜索Queue,在pypi.python.org中搜索windows并尝试pip install Queue。最后它失败了。那么我如何在Windows上使用Queue模块?
答案 0 :(得分:2)
我想你想从多处理模块中使用else
,然后以这种方式导入 -
Queue
如果要使用队列数据结构,则使用小写from multiprocessing import Queue
。
queue