如何实现Java线程的生命周期命名与代码获取

  介绍

这篇文章主要为大家展示了如何实现Java线程的生命周期命名与代码获取,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

<强>一、线程的生命周期

1。五种状态:新建状态,就绪状态,运行状态,阻塞状态,消亡状态

2。就绪状态的线程表示有权利去获取CPU的时间片,CPU时间片是执行权,当线程拿到CPU时间片之后就马上执行运行方法,这个时候就代表进入了运行状态

如何实现Java线程的生命周期命名与代码获取

<强>二、线程的调度与控制

通常我们的计算机只有一个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线程的生命周期命名与代码获取

以上就是关于如何实现Java线程的生命周期命名与代码获取的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。

如何实现Java线程的生命周期命名与代码获取