Python高级语法(11)多线程、多进程、协程简介与选择(python多进程和多线程协程)

网友投稿 545 2022-08-23


Python高级语法(11)多线程、多进程、协程简介与选择(python多进程和多线程协程)

Python高级语法(1)抽象类

Python高级语法(2)多继承和MRO继承机制

Python高级语法(3)global和nolocal关键字使用详解

Python高级语法(4)魔法函数__init__/__del__/__new__

Python高级语法(5)魔法函数__str__/__repr__即str和repr的联系与区别的本质

Python高级语法(6)魔法函数__len__和__contains__即in和len()的本质

Python高级语法(7)魔法函数__getitem__/__setitem__/__delitem__即字典通过key取值赋值等本质

Python高级语法(8)魔法函数__enter__/__exit__即with上下文管理器的本质

Python高级语法(9)魔法函数__call__让对象像函数一样调用

Python高级语法(10)魔法函数__getattr__/__setattr__/__delattr__/__getattribute__对属性设置查询等的底层拦截处理

Python高级语法(11)多线程、多进程、协程简介与选择

Python高级语法(12)编码规范即pep8详解

Python高级语法(13)python中的一切皆对象

Python高级语法(14)type、object和class的关系

Python高级语法(15)装饰器

Python高级语法(16)迭代器

Python高级语法(17)map,filter,reduce,zip,lambda的应用

1、python实现并发并行编程的方式有三种:多线程、多进程、多协程

CPU密集型计算(CPU-bound); CPU密集型也叫计算密集型,是指I/O在很短的时间内完成,CPU需要大量的计算和处理,特点就是CPU占用率相当高 如:压缩解压缩,加密解密,正则表达式搜索I/O密集型计算(I/O-bound): IO密集型是指系统运作大部分的状况是CPU在等IO(硬盘和内存)的读写操作,CPU占用率仍然很低 例如:文件处理程序,网络爬虫程序,读写数据库程序等多进程(Process)

优点:可以利用多核CPU并行运算缺点:占用资源最多,可启动数据比线程少适用场景:CPU密集型计算

多线程

优点:相比进程,更轻量级,占用资源小缺点:

相比进程:多线程只能并发,不能利用多CPU(GIL)相比协程:启动数据有限制,占用内存资源,有线程切换开

适用场景:IO密集型计算,同时运行的任务数据要求不多

多协程

优点:内存开销最少,启动协程数量最多缺点:支持的库有限制,代码实现复杂适用于:IO密集型计算,需要超过任务运行,但有现成库支持的场景

2、三种方式的选择


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python----Python的pdb代码调试方法(python中pdb)
下一篇:Python----源码安装Python语言(CentOS7系统)(centos7 python3安装)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~