python多线程学习
Python多线程与多进程
博主为菜鸟级新手,欢迎大佬来砸我。
今天一个任务耗时很久,为了这个任务开了一个python的线程,做一下学习记录。
学习网站:
https://www.cnblogs.com/-qing-/p/11291581.html
https://www.cnblogs.com/guyuyun/p/11185832.html
用到的库:threading
python中的多线程与多进程
一个程序可以包括多个进程,一个进程可以包括多个线程。
由于GIL(全局解释锁:Global Interpreter Lock)的存在,python里面的多线程是“假”的,各个线程的计算不是同步执行,而是交替执行。
python里的多线程不适用于计算密集型问题,适用于IO密集型问题。
计算密集型问题:要进行大量计算,疯狂消耗CPU的计算资源。
IO密集型问题:大量用于硬盘读写、网络传输等。
threading的使用
将需要开辟线程的代码做成函数,threading.Thread()调用该函数,然后start,就ok了。
例子参见下图,图片来源:https://www.cnblogs.com/guyuyun/p/11185832.html