前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python使用Manager对象实现不同机器上的进程跨网络传输数据

Python使用Manager对象实现不同机器上的进程跨网络传输数据

作者头像
Python小屋屋主
发布2018-04-16 15:23:10
1.8K0
发布2018-04-16 15:23:10
举报
文章被收录于专栏:Python小屋Python小屋

本文主要演示不同机器上的进程之间如何通过网络进行数据交换。

(1)首先编写程序文件multiprocessing_server.py,启动服务器进程,创建可共享的队列对象。 from multiprocessing.managers import BaseManager from queue import Queue

q = Queue() class QueueManager(BaseManager): pass QueueManager.register('get_queue', callable=lambda:q)

m = QueueManager(address=('', 30030), authkey=b'dongfuguo') s = m.get_server() s.serve_forever()

(2)然后编写程序文件multiprocessing_client1.py,连接服务器进程,并往共享的队列中存入一些数据。 from multiprocessing.managers import BaseManager

class QueueManager(BaseManager): pass QueueManager.register('get_queue') #假设服务器的IP地址为10.2.1.2 m = QueueManager(address=('10.2.1.2', 30030), authkey=b'dongfuguo') m.connect() q = m.get_queue() for i in range(3): q.put(i)

(3)最后编写程序文件multiprocessing_client2.py,连接服务器进程,从共享的队列对象中读取数据并输出显示。 from multiprocessing.managers import BaseManager

class QueueManager(BaseManager): pass QueueManager.register('get_queue') m = QueueManager(address=('10.2.1.2', 30030), authkey=b'dongfuguo') m.connect() q = m.get_queue() for i in range(3): print(q.get())

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档