Home  >  Article  >  Backend Development  >  Python multi-process communication module

Python multi-process communication module

高洛峰
高洛峰Original
2016-10-18 10:00:271728browse

There are many methods of multi-process communication, just to name a few. I just tried the multi-process communication module multiprocessing.connection packaged in python.

After a simple test, the efficiency is okay. It should be encapsulating the socket. The efficiency can reach 4krps, which can meet many needs.

Attached code is as follows:

client

#!/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:
    pass
print a

server

#!/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 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)


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn