进程和线程概念对比

Posted on 2018-12-07 10:09  且行且歌  阅读(112)  评论(0编辑  收藏  举报

进程:

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

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

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

进程间切换代价很昂贵。

线程:

线程是执行的最小单位。

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

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

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

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

Copyright © 2024 且行且歌
Powered by .NET 8.0 on Kubernetes