python并发编程实战(一):python并发编程简介
2022/7/3 1:23:08
本文主要是介绍python并发编程实战(一):python并发编程简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
学习教程地址
这篇教程是:b站up主蚂蚁学Python的视频教程的笔记,原视频地址:【2021最新版】Python 并发编程实战,用多线程、多进程、多协程加速程序运行
为什么要引入并发编程
场景1:一个网络爬虫,按顺序爬取花了1个小时,采用并发下载减少到20分钟!
场景2:一个APP应用,优化前每次打开页面需要3s,采用异步并发提升到每次200毫秒;
- 引入并发,是为了提升程序运行的速度
- 学习并掌握并发编程,是高级别+高薪资程序员的必备能力
有哪些程序提速的方法
单线程串行:有一个线程,开始执行以后,CPU先执行,然后进行IO(数据读取和写入),在IO期间,CPU是不做什么事情的,IO完成后,CPU继续开始运算,然后进行下一次IO,整体的时间有些浪费,因为在IO期间,CPU是等待的状态
多线程并发:CPU开始执行,如果遇到IO,它会切换到另一个task进行执行,当IO完成之后,会通知CPU进行下一步的处理。电脑中的CPU和IO是可以同时并行进行的,IO的执行,比如读取内存、磁盘、网络,它的过程中是不需要CPU的参与的,这样CPU是可以释放出来,来执行其他task,实现并发的加速,但这种原理上,还是一个CPU进行运行的
多CPU并行:当前我们电脑都是多核CPU,所以很自然的,我们可以实现多个CPU多条线,同时真正的并行执行进行加速
多机器并行:当前进入大数据时代,很多程序的运行都是可以用很多机器并行来进行运算,每个机器上有很多CPU,每个CPU上也可以进行并发的执行
python对并发编程的支持
-
多线程:threading,利用CPU和IO同时执行的原理,让CPU不会干巴巴等待IO完成
-
多进程:multiprocessing,利用多核CPU的能力,真正的并行执行任务
-
异步IO:asyncio,在单线程利用CPU和IO同时执行的原理,实现函数异步执行
-
使用Lock对资源加锁,防止冲突访问
-
使用Queue实现不同线程/进程之间的数据通信,实现生产者—消费者模式
-
使用线程池Pool/进程池Pool,简化线程/进程的任务提交、等待结束、获取结果
-
使用subprocess启动外部程序的进程,并进行输入/输出交互
这篇关于python并发编程实战(一):python并发编程简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南