介绍
这篇文章主要为大家展示了如何实现Java线程的生命周期命名与代码获取,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
<强>一、线程的生命周期强>
1。五种状态:新建状态,就绪状态,运行状态,阻塞状态,消亡状态
2。就绪状态的线程表示有权利去获取CPU的时间片,CPU时间片是执行权,当线程拿到CPU时间片之后就马上执行运行方法,这个时候就代表进入了运行状态
<强>二、线程的调度与控制强>
通常我们的计算机只有一个CPU, CPU在某一个时刻只能执行一条指令,线程只有得到CPU时间片,也就是使用权,才可以执行指令,# 8203;。在单CPU的机器上线程不是并行运行的,只有个在多CPU上个线程才可以并行运行. Java虚拟机要负责线程的调度,取得CPU的使用权,,# 8203;目前有两种调度模型:分时调度模型和抢占式调度模型,Java使用抢占式调度模型,# 8203;。
分时调度模型:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU& # 8203;的时间片;
抢占式调度模型,# 8203;:优先让优先级高的线程使用CPU,如果线程的优先级,# 8203;相同,那么会随机选择一个,优先级高的线程获取CPU& # 8203;时间片相对多一些。
线程优先级,# 8203;主要分为三种:MAX_PRIORITY(最高级);MIN_PRIORITY(最低级);NORM_PRIORITY(标准)默认
包com.bjpowernode.java_learning; 进口com.sun.imageio.plugins.tiff.TIFFT4Compressor; 公开课D104_1_MultiThreadDispatchAndControl { 公共静态void main (String [] args) {//如何获取当前线程对象 线程t=Thread.currentThread ();//t保存的内存地址指向的是线程是“主线程对象”//获取线程的名字 System.out.println (t.getName ()); 线程t2=新线程(新Processor104_1 ()); t2.start (); 线程t3=新线程(新Processor104_1 ()); t3.start ();//可以给线程起名字 线程t4=新线程(新Processor104_1 ()); t4.setName (“t4"); t4.start (); } } 类Processor104_1实现Runnable { 公共空间run () { 线程t=Thread.currentThread (); System.out.println (t.getName ()); } }
以上就是关于如何实现Java线程的生命周期命名与代码获取的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。