进程和线程的区别

第一阶段:计算机只有一个进程,单进程时代、一切都只能串行

问题:如果堵塞,CPU极大的浪费

第二阶段:多进程的并发时代,一个进程堵塞了,可以执行另外一个进程;充分利用CPU的计算能力

第三阶段:多进程、多线程

问题:进程拥有太多的资源,进程的创建、切换、销毁,都会占用很长的时间;进程的数量限制

2、CPU 虽然利用起来了,但如果进程过多,CPU 有很大的一部分都被用来进行进程调度了。

第四阶段:协程/虚拟线程

进程是系统分批资源:jvm的内存、端口等

现成

N 个协程绑定 1 个线程,优点就是协程在用户态线程即完成切换,不会陷入到内核态,这种切换非常的轻量快速。但也有很大的缺点,1 个进程的所有协程都绑定在 1 个线程上

缺点:

某个程序用不了硬件的多核加速能力

一旦某协程阻塞,造成线程阻塞,本进程的其他协程都无法执行了,根本就没有并发的能力了。

你可能感兴趣的:(java)