"); //-->
Java学习笔记
进程与线程
操作系统与进程:程序是一段静态的代码,它是应用软件执行的蓝本。
进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。
现代操作系统可以同时管理一个计算机系统中的多个进程,即可以让计算机系统中的多个进程轮流使用CPU资源。
进程与线程:线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程。
线程间可以共享进程中的某些内存单元(包括代码与数据),线程的中断与恢复可以更加节省系统的开销
Java中的线程
Java的多线程机制:Java语言的一大特性点就是内置对多线程的支持。
Java虚拟机快速地把控制从一个线程切换到另一个线程。这些线程将被轮流执行,使得每个线程都有机会使用CPU资源。
每个Java应用程序都有一个缺省的主线程。
JVM一直要等到Java应用程序中的所有线程都结束之后,才结束Java应用程序 。
线程状态与生命周期:线程在它的一个完整的生命周期中通常要经历如下的四种状态:
1.新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。
2.运行 :线程必须调用start( )方法(从父类继承的方法)通知JVM,这样JVM就会知道又有一个新一个线程排队等候切换了。一旦轮到它来享用CPU资源时,此线程的就可以脱离创建它的主线程独立开始自己的生命周期了。
3.中断:有4种原因的中断:
◆ JVM将CPU资源从当前线程切换给其他线程,使本线程让出CPU的使用权处于中断状态。
◆线程使用CPU资源期间,执行了sleep(int millsecond)方法,使当前线程进入休眠状。
◆线程使用CPU资源期间,执行了wait( )方法。
◆线程使用CPU资源期间,执行某个操作进入阻塞状态。
4.死亡 :处于死亡状态的线程不具有继续运行的能力。线程释放了实体。
线程调度与优先级:处于就绪状态的线程首先进入就绪队列排队等候CPU资源,同一时刻在就绪队列中的线程可能有多个。Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。
Java调度器的任务是使高优先级的线程能始终运行,一旦时间片有空闲,则使具有同等优先级的线程以轮流的方式顺序使用时间片。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
一种多级数字混沌编码方案及其硬件实现
EasyARM1138嵌入式专题讲座
设计超越摩尔定律的小芯片的未来
交流高压发生器
基于GMPLS的新一代网络流量工程
更轻易的LED照明温度控制
一种大型弹药库群监控报警系统的设计与实现
一种从SDTV到HDTV的解决方案设计
AMD看到在Nvidia主导的数据中心AI市场获得两位数份额的“非常清晰的道路”
EDA 存在价值捕获问题
以色列科学家第三次获得世界计算机最高奖
长江存储第三晶圆厂破土动工
AI元力驱动智造未来 | 湃睿科技亮相普元数智基座巡展武汉站
网络内容付费市场借道手机获新突破
用与非门组成的负电源发生器
闪存安全功能保护您的知识产权
[转帖]西安某校学生痛扁小日本!
高压发生器(NE555)
理解发展哲理 领悟发展走向——关于硅技术的思考
苏姿丰:到2030年AI数据中心市场规模料突破1万亿,AMD营收年增或超35%
一种超宽带脉冲发生器的设计
人工智能:人工智能的基础技术
直流高压产生器
直流负高压发生器
软银清空英伟达股份,道指创收盘纪录新高,美政府停摆有望结束
恒忆 Krypto 密码访问
[求助]刚刚安装了ADS1.2,打开例程可以编译
强强联手,共绘蓝图!湃睿科技与和君咨询正式签署战略同盟协议
半导体推动电动汽车EV和5G演进
一种电力线扩频载波通讯节点的具体实现