Chinaunix首页 | 论坛 | 博客
  • 博客访问: 168095
  • 博文数量: 22
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 248
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-05 19:05
文章分类
文章存档

2018年(12)

2017年(10)

我的朋友

分类: Python/Ruby

2017-11-21 13:43:04

A进程代码

#encoding=utf-8

__author__ = 'outofmemory.cn'
from multiprocessing.connection import Listener

address = ('localhost', 6000) # family is deduced to be 'AF_INET'
listener = Listener(address, authkey='secret password')

while True:
conn = listener.accept()
print 'connection accepted from', listener.last_accepted

data = conn.recv()
print data
try:
result = 'haha'
conn.send_bytes('get %s'%(result,))
except Exception,e:
print e
finally:
conn.close()

listener.close()

B进程代码
#encoding=utf-8
__author__ = 'outofmemory.cn'

from multiprocessing.connection import Client

address = ('localhost', 6000)

for x in range(0,10):
conn = Client(address, authkey='secret password')
conn.send('这是一个美丽的世界')
print conn.recv_bytes()

conn.close()

总结:

    在python的multiprocessing.connection包中有Listener和Client类可以实现多进程之间的通信,这种通信方式根据平台的不同会自动选择socket或者named pipe的方式来实现通信。

参考:

阅读(2944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~