当前位置: 移动技术网 > 科技>办公>CPU > 进程与线程

进程与线程

2020年07月29日  | 移动技术网科技  | 我要评论

前言

GitHub:https://github.com/yihonglei/thinking-in-concurrent

一 进程

进程是程序执行的单元,每个进程提供程序执行所需的资源,由操作系统创建、调度、终止使用CPU。

进程具有虚拟地址空间,可执行代码,打开系统对象的句柄,具有安全的上下文,有一个唯一的进程标识符,

环境变量,优先级类,能进行最小和最大工作集大小设定,每个进程至少要有一个线程。

每个进程都是从一个线程开始的,通常称为主线程,但是可以从它创建额外任何线程。

二 线程

线程是进程中可以调度执行的实体。进程的所有线程共享其虚拟地址空间和系统资源。此外,每个线程维护异常处理程序,

调度优先级,线程本地存储,线程唯一标识符,使用系统结构来保存线程上下文直到线程被调度为止。

线程上下文包括线程的机器寄存器集、内核堆栈、线程环境块和线程进程地址空间中的用户堆栈。

线程也可以有自己的安全上下文,可用于模拟客户端。

三 进程和线程区别

1)进程是一个可执行程序,线程只是进程的一个片段,一个进程可以包含多个线程;

2)进程不是轻量级的,线程是轻量级的;

3)进程终止需要更多时间,线程则不需要,因为线程只需要关心自己终止即可,而进程则需要关心自己锁包含的线程情况;

4)进程的创建比线程创建耗时;

5)进程的上下文切换比线程上下文切换耗时;

6)进程孤立的,不共享内存,而线程则可以共享所属进程的内存,即共享内存;

参考文献

https://stackoverflow.com/questions/200469/what-is-the-difference-between-a-process-and-a-thread

https://www.guru99.com/difference-between-process-and-thread.html

本文地址:https://blog.csdn.net/yhl_jxy/article/details/107590038

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网