栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

进程与线程的区别和联系

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

进程与线程的区别和联系

一、进程

进程(Process)是操作系统分配资源的基本单位,⼀个进程拥有的资源有⾃⼰的堆、栈、虚存空间
(⻚表)、⽂件描述符等信息。 从编程的⻆度来理解进程,可以把它看作是⼀个类或⼀个 PCB
(Process Control Block)进程控制块的结构体。

1.1进程的本质

进程本质就是⼀个 PCB(Process Control Block)结构体,类似于 Java 中的类。
进程中包括了以下几个属性:

    PID:进程的唯一身份标识(当重启进程后PID会更改)进程状态:新建状态、就绪状态、运行状态、阻塞状态、销毁状态优先级:决定进程的执行顺序记账信息:为保证进程执行的相对公平上下文:保存本次的执行状态,以便下次继续执行一组内存:指定进程需要使用的资源

间⽚:每个进程得的 CPU 执⾏的时间叫做时间⽚。
内核态和⽤户态:内核态表示操作系统作为最底层的软件拥有最⾼的权限就叫做内核态,⽤户态指⽤户编写的程序。

二、线程

线程(Thread)是操作系统能够进⾏运算调度的最⼩单位。它被包含在进程之中,是进程中的实际运作
单位。⼀条线程指的是进程中⼀个单⼀顺序的控制流,⼀个进程中可以并发多个线程,每条线程并⾏执
⾏不同的任务。在 Unix System V 及 SunOS 中也被称为轻量进程(lightweight processes),但轻量
进程更多指内核线程(kernel thread),⽽把⽤户线程(user thread)称为线程。

三、进程与线程的区别与联系
    从属关系不同:进程是正在运⾏程序的实例,进程中包含了线程,⽽线程中不能包含进程。描述重点不同:进程是操作系统分配资源的基本单位,线程是操作系统调度的最小单位共享资源不同:多个进程间不能共享资源,每个进程有⾃⼰的堆、栈、虚存空间(⻚表)、⽂件描述符等信息,⽽线程可以共享进程资源⽂件(堆和⽅法区)。上下文切换速度不同:线程上下文切换速度很快,进程切换上下文速度很慢操作者不同:操作系统操纵进程,编程人员操纵线程
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781185.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号