并发编程(一)python并发编程简介

并发编程专栏系列博客

并发编程(一)python并发编程简介

并发编程(二)怎样选择多线程多进程和多协程

并发编程(三)Python编程慢的罪魁祸首。全局解释器锁GIL

并发编程(四)如何使用多线程,使用多线程对爬虫程序进行修改及比较

并发编程(五)python实现生产者消费者模式多线程爬虫

并发编程(六)线程安全问题以及lock解决方案

并发编程(七)好用的线程池ThreadPoolExecutor

并发编程(八)在web服务中使用线程池加速

并发编程(九)使用多进程multiprocessing加速程序运行

并发编程(十)在Flask服务中使用进程池加速

并发编程(十一)python异步IO实现并发编程

并发编程(十二)使用subprocess启动电脑任意程序(听歌、解压缩、自动下载等等)

 
 

1. 为什么要引入并发编程
  1. 场景一:网络爬虫、一个小时的任务并发20分钟完成。
  2. 场景二:APP应用,正常打开需要3秒,采用异步并发加载后提升到200毫秒
  3. 所以说,并发编程是为了提升程序运行的速度。
2. 有哪些程序提速的方法
  1. 多线程并发(threading)
  2. 多CPU并行(multiprocessing)
  3. 多机器并行(Hadoop、hive、spark)
3. python对并发编程的支持
  1. 多线程:threading,利用CPU和IO可以同时执行的原理,让CPU不用等待 IO完成,而是借此机会执行其他task。
  2. 多进程:multiprocessing,利用多核CPU的能力,实现真正的并行执行任务
  3. 异步IO:asvncio,在单线程利用CPU和IO同时执行的原理,实现函数异步执行
  4. 其他模块
    1. 使用lock对资源加锁,防止冲突访问。
    2. 使用Queue实现不同线程、进程之间的数据通信,实现生产者-消费者模式。
    3. 使用线程池pool、进程池pool,简化线程、进程的任务提交、等待结果、获取结果。
    4. 使用subprocess启动外部程序的进程,并进行输入输出交互
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值