进程与线程的区别?
1进程是CPU资源分配的最小单元,线程是CPU计算的最小单元.
2一个进程中可以有多个线程
3对于python来说,它的进程与线程与其它语言有差异,它是有GIL锁,保证同一进程中,在同一时刻只有一个一个线程被CPU调用.
注意:IO密集型操作可以使用多线程,计算密集型操作需要使用多进程.
线程可以无限开吗?
线程不宜开太多,会有上下文联系,太多了来回切换会降低效率.通过线程池来限制最多开辟的现成的个数.
线程,进程与协程的区别:
1线程是CPU工作的最小单元,我们的操作最后都是由线程操作完成的,
2进程是CPU资源分配的最小单元,作用是进行数据隔离,对于python而言,它的线程与进程与其它语言是有差别的,它有GIL锁,保证同一时刻同一进程只有一个线程被调用,IO密集型操作可以使用多线程,计算密集型操作就需要开多进程,使用计算机多核的优势,
4一个应用程序可以有多个进程,而一个进程中又会有多个线程.
3进程与线程是真实存在的,是计算机内部的,而协程是由程序员在程序中编写出来的,不是计算机内部真实存在的,协程又称作微线程,是开发者控制线程执行程序流程,执行完某段代码,然后切换到另外程序执行...可以来回切换,协程本身是无法实现并发,协程+IO切换就可以实现并发.
4协程是在现成的基础上编写创造出来,而线程又是在进程中建立使用.