python 多进程通信模块入门实例

前端之家收集整理的这篇文章主要介绍了python 多进程通信模块入门实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

多进程通信方法好多,不一而数。刚才试python封装好嘅多进程通信模块 multiprocessing.connection。

简单测试一下,效率还可以,应该系对socket封装,效率可以达到4krps,可以满足好多方面嘅需求啦。

代码如下:

client

  1. # @param python 多进程通信模块
  2. # @author 编程之家 jb51.cc|jb51.cc
  3. #!/usr/bin/python
  4. # -*- coding: utf-8 -*-
  5. """ download - slave
  6. """
  7. __author__ = 'Zagfai'
  8. __license__ = 'MIT@2014-02'
  9. import webtul
  10. from multiprocessing.connection import Client
  11. a = 0
  12. try:
  13. while True:
  14. a += 1
  15. address = ('10.33.41.112',6666)
  16. conn = Client(address,authkey='hellokey')
  17. #print conn.recv()
  18. d = conn.recv()
  19. conn.close()
  20. except:
  21. pass
  22. print a
  23. # End www.jb51.cc

server

  1. # @param python 多进程通信模块
  2. # @author 编程之家 jb51.cc|jb51.cc
  3. #!/usr/bin/python
  4. # -*- coding: utf-8 -*-
  5. """ downloader - master server
  6. """
  7. __author__ = 'Zagfai'
  8. __license__ = 'MIT@2014-02'
  9. import webtul
  10. from multiprocessing.connection import Listener
  11. from threading import Thread
  12. def listener():
  13. address = ('10.33.41.112',6666)
  14. listener = Listener(address,backlog=100,authkey='hellokey')
  15. while True:
  16. conn = listener.accept()
  17. #print 'connection accepted from',listener.last_accepted
  18. try:
  19. conn.send({'1':2,'2':'abc'})
  20. except Exception,e:
  21. print e
  22. finally:
  23. conn.close()
  24. listener.close()
  25. listener_th = Thread(target=listener)
  26. listener_th.daemon = True
  27. listener_th.start()
  28. listener_th.join(timeout=20)
  29. # End www.jb51.cc

猜你在找的Python相关文章