码迷,mamicode.com
首页 > 编程语言 > 详细

python中的BaseManager通信(一)文件三分

时间:2015-07-02 01:02:59      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

可以在windows下单机运行

主部分(提供服务器)

1 #mainfirst.py
2 from multiprocessing.managers import BaseManager
3 import Queue
4 queue = Queue.Queue()
5 class QueueManager(BaseManager): pass
6 QueueManager.register(get_queue, callable=lambda:queue)
7 m = QueueManager(address=(127.0.0.1, 50000), authkey=abc)
8 s = m.get_server()
9 s.serve_forever()

发送信号部分(发送)

1 #subfirst.py
2 from multiprocessing.managers import BaseManager
3 class QueueManager(BaseManager): pass
4 QueueManager.register(get_queue)
5 m = QueueManager(address=(127.0.0.1, 50000), authkey=abc)
6 m.connect()
7 queue = m.get_queue()
8 queue.put(hello)

接收信号部分(接收)

#subsec.py
from multiprocessing.managers import BaseManager
class QueueManager(BaseManager): pass
QueueManager.register(get_queue)
m = QueueManager(address=(127.0.0.1, 50000), authkey=abc)
m.connect()
queue = m.get_queue()
print queue.get()
print m.address

结果:

hello
(‘127.0.0.1‘, 50000)

运行时:不能关掉主部分(提供服务)。发送与接收无所谓先后。

还有一章是python中的BaseManager通信(二)文件三分。提供服务部分。对本章的发送,接收部分一样有效

python中的BaseManager通信(一)文件三分

标签:

原文地址:http://www.cnblogs.com/liunnis/p/4614947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!