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

操作系统基础(二)进程与线程的区别、进程状态和线程状态

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

操作系统基础(二)进程与线程的区别、进程状态和线程状态

一、进程与线程的区别

进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。

线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是,同类的多个线程共享进程的堆和方法区资源。

进程是资源分配的最小单位,线程是CPU调度的最小单位。

二、进程状态

进程大致分为 5 种状态

创建状态(new) :进程正在被创建,尚未到就绪状态。就绪状态(ready) :进程已处于准备运行状态,即进程获得了除了处理器之外的一切所需资源,一旦得到处理器资源(处理器分配的时间片)即可运行。运行状态(running) :进程正在处理器上上运行(单核 CPU 下任意时刻只有一个进程处于运行状态)。阻塞状态(waiting) :又称为等待状态,进程正在等待某一事件而暂停运行如等待某资源为可用或等待 IO 操作完成。即使处理器空闲,该进程也不能运行。结束状态(terminated) :进程正在从系统中消失。可能是进程正常结束或其他原因中断退出运行。 三、线程状态

线程分为6个状态:

初识状态(new):新创建了一个线程对象,但还没有调用start()方法时。

运行状态(runnable):线程调度程序从可运行池中选择一个线程获得CPU时间片后,被选中线程进入的状态。这也是线程进入运行状态的唯一一种方式。

阻塞状态(blocked):阻塞状态是线程阻塞在进入synchronized关键字修饰的方法或代码块(获取锁)时的状态。

等待状态(waiting): 处于这种状态的线程不会被分配CPU执行时间,它们要等待被显式地唤醒,否则会处于无限期等待的状态。

超时等待状态(timed_waiting):处于这种状态的线程不会被分配CPU执行时间,不过无须无限期等待被其他线程显示地唤醒,在达到一定时间后它们会自动唤醒。

终止状态(terminated):当线程的run()方法完成时,或者主线程的main()方法完成时,我们就认为它终止了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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