python 进程 进程池 进程间通信实现解析


Posted in Python onAugust 23, 2019

1.python 中创建进程的两种方式:

from multiprocessing import Process
import time
def test_():
  print '-----test-----'
if __name__ == '__main__':
  p = Process(target=test_)
  p.start()
  while True:
    print '--main--'
    

'''1.通过process 类创建一个进程对象,然后start即可开启进程, test
test_函数是进程实现的功能'''
 
 from multiprocessing import Process
 import time
 class MyNewProcess(Process):
   def run(self):
     print '------run-------'
 if __name__ == '__main__':
   p = MyNewProcess()
   p.start()
   print '---main-----'
 '''2.通过类似继承process  子类中必须有run 方法 里边实现 进程功能 
 创建对象之后 调用start'''

2.进程池

from multiprocessing import Pool
from time import sleep
import os 
def func(num):
  for i in range(3):
    print '%s %s' %(os.getpid(),num) #
    sleep(2)
def main():
  pool = Pool(3)
  for i in range(3, 6):
    res = pool.apply_async(func, (i,))
  pool.close()
  pool.join() 
if __name__ == '__main__':
  main()

3.进程间通信

'''python 进程间通信   Queue '''

'''1.Queue使用方法
  1.Queue.qsize(): 返回当前队列包含的消息数量
  2.Queue.empty(): 如果队列为空 返回True 反之 False
  3.Queue.full(): 如果队列满了返回True 反之 False
  4.Queue.get():  获取队列中一条消息 然后将其从队列中移除 可传参数 超市时长
  Queue.get_nowait(): 相当于 Queue.get(False) 取不到值 触发异常
  Queue.put(): 将一个值添加到数列 可传参数 超时时长
  Queue.put_nowait():相当于 Queue.get(False) 当队列满时 报错
'''
from multiprocessing import Process, Queue
import time
q = Queue() # 创建队列
for i in range(10):
  q.put(i)    
def test_a():
    try:
      while True:
        num = q.get_nowait()
        print '我是进程a 取出数字为:%s'%num
        time.sleep(1)
    except Exception, e:
      print e
def test_b():
  try:
    while True:
      num = q.get_nowait()
      print '我是进程b 取出数字是:%s'%num
      time.sleep(1)
  except Exception, e:
    print e
if __name__ == '__main__':
  p1 = Process(target=test_a)
  p2 = Process(target=test_b)
  p1.start()
  p2.start()

至此 简单得使用已经结束

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python统计列表中的重复项出现的次数的方法
Aug 18 Python
python网络编程实例简析
Sep 26 Python
python打开网页和暂停实例
Sep 30 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
Django内容增加富文本功能的实例
Oct 17 Python
python实现决策树
Dec 21 Python
一个Python最简单的接口自动化框架
Jan 02 Python
Django学习笔记之ORM基础教程
Mar 27 Python
Python实现一个服务器监听多个客户端请求
Apr 12 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
python 提高开发效率的5个小技巧
Oct 19 Python
python实现的生成word文档功能示例
Aug 23 #Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 #Python
详解Matplotlib绘图之属性设置
Aug 23 #Python
python3.6生成器yield用法实例分析
Aug 23 #Python
python基础 range的用法解析
Aug 23 #Python
Django 导出项目依赖库到 requirements.txt过程解析
Aug 23 #Python
Django接收自定义http header过程详解
Aug 23 #Python
You might like
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
python避免死锁方法实例分析
2015/06/04 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
Python中作用域的深入讲解
2018/12/10 Python
tensorflow的计算图总结
2020/01/12 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
python 如何实现遗传算法
2020/09/22 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
简历里的自我评价
2014/01/31 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
质检员岗位职责
2015/02/03 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL