python多进程使用及线程池的使用方法代码详解


Posted in Python onOctober 24, 2018

多进程:主要运行multiprocessing模块

import os,time
import sys
from multiprocessing import Process
class MyProcess(Process):
  """docstring for MyProcess"""
  def __init__(self, arg, callback):
    super(MyProcess, self).__init__()
    self.arg = arg
    self.callback = callback
  def run(self):
    self.callback(self.arg)
def test(arg):
  print("子进程{}开始>>> pid={}".format(arg,os.getpid()))
  for i in range(1,5):
    sys.stdout.write("子进程{}运行中{}\r".format(arg,i))
    sys.stdout.flush()
    time.sleep(1)
def main():
  print("主进程开始>>> pid={}".format(os.getpid()))
  myp=MyProcess(1,test)
  myp.start()
  myp2=MyProcess(2,test)
  myp2.start()
  myp.join()
  myp2.join()
  print("主进程终止")
if __name__ == '__main__':
  main()

线程池:主要运用了未来模块!下面例子,第一个是正常,第二第线程池,第三个用运行了2个线程池,会排队

from concurrent.futures import ThreadPoolExecutor
import time
def sayhello(a):
  print("hello: "+a)
  time.sleep(2)
def main():
  seed=["a","b","c"]
  start1=time.time()
  for each in seed:
    sayhello(each)
  end1=time.time()
  print("time1: "+str(end1-start1))
  start2=time.time()
  with ThreadPoolExecutor(3) as executor:
    for each in seed:
      executor.submit(sayhello,each)
  end2=time.time()
  print("time2: "+str(end2-start2))
  start3=time.time()
  with ThreadPoolExecutor(2) as executor1:
    executor1.map(sayhello,seed)
  end3=time.time()
  print("time3: "+str(end3-start3))
if __name__ == '__main__':
  main()

总结

以上所述是小编给大家介绍的python多进程使用及线程池的使用方法代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
python实现转圈打印矩阵
Mar 02 Python
Python切片操作去除字符串首尾的空格
Apr 22 Python
Python安装与基本数据类型教程详解
May 29 Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
python如何实现图片压缩
Sep 11 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 Python
python实现发送邮件
Mar 02 Python
Python3中最常用的5种线程锁实例总结
Jul 07 Python
python实现图片筛选程序
Oct 24 #Python
用pycharm开发django项目示例代码
Oct 24 #Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 #Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 #Python
Python读取系统文件夹内所有文件并统计数量的方法
Oct 23 #Python
Python实现按逗号分隔列表的方法
Oct 23 #Python
Python解析Excle文件中的数据方法
Oct 23 #Python
You might like
PHP安全配置
2006/10/09 PHP
php实现计数器方法小结
2015/01/05 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
用python实现的线程池实例代码
2018/01/06 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
Python 修改列表中的元素方法
2018/06/26 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
python实现人脸签到系统
2020/04/13 Python
Pycharm plot独立窗口显示的操作
2020/12/11 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
中国旅游网站:同程旅游
2016/09/11 全球购物
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
夜大自我鉴定
2013/10/31 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
个人作风剖析材料
2014/02/02 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
报名委托书
2015/01/29 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书