標籤:
可以在windows下單機運行
主部分(提供伺服器)
1 #mainfirst.py2 from multiprocessing.managers import BaseManager3 import Queue4 queue = Queue.Queue()5 class QueueManager(BaseManager): pass6 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.py2 from multiprocessing.managers import BaseManager3 class QueueManager(BaseManager): pass4 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.pyfrom multiprocessing.managers import BaseManagerclass QueueManager(BaseManager): passQueueManager.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通訊(一)檔案三分