1进程:
优点:提高效率,利用CPU多核优势
开启个数:理论上是CPU内核数的1-2倍
描述:一段程序或者脚本的执行,CPU资源分配的最小单元
缺点:资源消耗非常大,进程过多,CPU切换进程也消耗资源,资源共享困难
使用场景:CPU密集型应用(计算密集型)
2线程:
优点:提高效率,资源共享
开启个数:跟计算硬件有关系,跟应用场景有关系,一半高于可开启进程数
描述:进程下可以开启多个线程,CPU调度的最小单元
缺点:开启个数也不是无限的,如果开启过多,造成进程瘫痪
使用场景:IO密集型应用程序
3协程:
描述:线程是系统级别的,它们是由操作系统调度;协程是程序级别的,属于微线程,由程序员根据需要自己调度。我们把一个线程中的一个个函数叫做子程序,那么子程序在执行过程中可以中断去执行别的子程序;别的子程序也可以中断回来继续执行之前的子程序,这就是协程
优点:无需线程上下文切换的开销,无需原子操作锁定及同步的开销
方便切换控制流,简化编程模型;高并发高扩展性和低成本
缺点:无法利用多核资源,进行阻塞操作会阻塞掉整个程序