多进程通信方法好多,不一而数。刚才试python封装好嘅多进程通信模块 multiprocessing.connection。
简单测试一下,效率还可以,应该系对socket封装,效率可以达到4krps,可以满足好多方面嘅需求啦。
附代码如下:
client#!/usr/bin/python
#-*-coding:utf-8-*-
"""download-slave
"""
__author__='Zagfai'
__license__='MIT@-02'
importwebtul
frommultiprocessing.connectionimportClient
a=0
try:
whileTrue:
a+=1
address=('10.33.41.112',6666)
conn=Client(address,authkey='hellokey')
#printconn.recv()
d=conn.recv()
conn.close()
except:
pass
printa
server#!/usr/bin/python
#-*-coding:utf-8-*-
"""downloader-masterserver
"""
__author__='Zagfai'
__license__='MIT@-02'
importwebtul
frommultiprocessing.connectionimportListener
fromthreadingimportThread
deflistener():
address=('10.33.41.112',6666)
listener=Listener(address,backlog=100,authkey='hellokey')
whileTrue:
conn=listener.accept()
#print'connectionacceptedfrom',listener.last_accepted
try:
conn.send({'1':2,'2':'abc'})
exceptException,e:
printe
finally:
conn.close()
listener.close()
listener_th=Thread(target=listener)
listener_th.daemon=True
listener_th.start()
listener_th.join(timeout=20)