Windows 7环境下代码运行错误的解决方法
Topic sourceQueueManager.register('get_task_queue', callable=lambda: task_queue)
QueueManager.register('get_result_queue', callable=lambda: result_queue)
可以改成
task_queue =queue.Queue
result_queue=queue.Queue
QueueManager.register('get_task_queue',callable=task_queue)
QueueManager.register('get_result_queue',callable=result_queue)
或者
QueueManager.register('get_task_queue',task_queue)
QueueManager.register('get_result_queue',result_queue)
我估计callable本身想要的就是函数指向吧
我是在看manager实现的时候发现的 他们自己居然是这么写的
SyncManager.register('Queue', queue.Queue)
SyncManager.register('JoinableQueue', queue.Queue)
感谢楼楼的分享
- 1
三尺蛮腰
廖老师给出的示例代码在Mac OS X下运行良好 但是在Windows 7环境task_master.py会出现问题 需要修改三个地方
第一: 以下两句register内不要使用lambda
改成以下方法:
第二: 创建manager时加上IP地址。
第三: 整个代码用
if __name__ == '__main__':
语句包起来, 并在一开始增加freeze_support()
调用最后附上完整的task_master.py