Multi-process communication methods vary by number. Just now I tried to encapsulate the multi-process communication module multiprocessing. connection in python.
A simple test shows that the efficiency is good. It should be based on socket encapsulation. The efficiency can reach 4 krps, which can meet many requirements.
The Code is as follows:
Client
Copy codeThe Code is as follows:
#! /Usr/bin/python
#-*-Coding: UTF-8 -*-
"Download-slave
"""
_ Author _ = 'zagfai'
_ License _ = 'mit @ 2014-02'
Import webtul
From multiprocessing. connection import Client
A = 0
Try:
While True:
A + = 1
Address = ('10. 33.41.112 ', 6666)
Conn = Client (address, authkey = 'hellokey ')
# Print conn. recv ()
D = conn. recv ()
Conn. close ()
Except t:
Pass
Print
Server
Copy codeThe Code is as follows:
#! /Usr/bin/python
#-*-Coding: UTF-8 -*-
"Downloader-master server
"""
_ Author _ = 'zagfai'
_ License _ = 'mit @ 2014-02'
Import webtul
From multiprocessing. connection import Listener
From threading import Thread
Def listener ():
Address = ('10. 33.41.112 ', 6666)
Listener = Listener (address, backlog = 100, authkey = 'hellokey ')
While True:
Conn = listener. accept ()
# Print 'Connection accepted from ', listener. last_accepted
Try:
Conn. send ({'1': 2, '2': 'abc '})
Except t Exception, e:
Print e
Finally:
Conn. close ()
Listener. close ()
Listener_th = Thread (target = listener)
Listener_th.daemon = True
Listener_th.start ()
Listener_th.join (timeout = 20)