欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

进程与线程

程序员文章站 2022-06-19 12:08:11
前言GitHub:https://github.com/yihonglei/thinking-in-concurrent一 进程进程是程序执行的单元,每个进程提供程序执行所需的资源,由操作系统创建、调度、终止使用CPU。进程具有虚拟地址空间,可执行代码,打开系统对象的句柄,具有安全的上下文,有一个唯一的进程标识符,环境变量,优先级类,能进行最小和最大工作集大小设定,每个进程至少要有一个线程。每个进程都是从一个线程开始的,通常称为主线程,但是可以从它创建额外任何线程。二 线程线...

前言

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

一 进程

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

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

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

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

二 线程

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

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

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

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

三 进程和线程区别

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

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

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

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

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

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

参考文献

https://*.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