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) |