进程和线程概念对比

进程:

进程是操作系统分配资源的最小单位。

进程之间是相互独立的,一般不可互相访问(除非利用分布式计算方式)。

进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段。

进程间切换代价很昂贵。

线程:

线程是执行的最小单位。

一个进程可以包含多个线程,入口处的线程被称为主线程。线程共享进程中的全部资源。

线程间切换开销比较小,但是过多的使用多线程反而会使性能下降(CPU需要花时间在线程的切换上)。

线程主要由CPU寄存器、调用栈和线程本地寄存器组成(TLS)。

多线程是“假象”,单位时间内,CPU只会执行一个线程。

猜你喜欢

转载自www.cnblogs.com/victorgui/p/10081316.html