多线程与多进程
多线程与多进程优劣比较
Python与多线程多进程
CPU和IO密集型
举例
https://www.cnblogs.com/zhangyubao/p/7003535.html
CPU密集型代码:各种循环处理、计数等等
IO密集型代码:文件处理、网络爬虫等
判断方法:
- 直接看CPU占用率, 硬盘IO读写速度(任务管理器)
- 计算较多->CPU;时间等待较多(如网络爬虫)->IO
多线程
Python由于有全锁局的存在(同一时间只能有一个线程执行),并不能利用多核优势。多线程进程是CPU密集型:多线程并不能带来效率上的提升,相反还可能会因为线程的频繁切换,导致效率下降;
多线程进程是IO密集型,多线程进程可以利用IO阻塞等待时的空闲时间执行其他线程,提升效率。
多进程
Python 一般使用多进程,代码编写参考链接