美文网首页
线程的六种状态

线程的六种状态

作者: 凡人多烦事_71de | 来源:发表于2020-06-23 20:23 被阅读0次

线程状态。线程可以处于以下状态之一:

NEW尚未启动的线程处于此状态。

RUNNABLE在Java虚拟机中执行的线程处于此状态。

BLOCKED被阻塞等待监视器锁定的线程处于此状态。

WAITING无限期等待另一个线程执行特定操作的线程处于此状态。

TIMED_WAITING正在等待另一个线程执行最多指定等待时间的操作的线程处于此状态。

TERMINATED已退出的线程处于此状态。

线程在给定时间点只能处于一种状态。 这些状态是虚拟机状态,不反映任何操作系统线程状态。

1、初始状态:

实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了初始状态。

2、就绪状态

就绪状态只是说你资格运行,调度程序没有挑选到你,你就永远是就绪状态。

调用线程的start()方法,此线程进入就绪状态。

当前线程sleep()方法结束,其他线程join()结束,等待用户输入完毕,某个线程拿到对象锁,这些线程也将进入就绪状态。

当前线程时间片用完了,调用当前线程的yield()方法,当前线程进入就绪状态。

锁池里的线程拿到对象锁后,进入就绪状态。

线程调度程序从可运行池中选择一个线程作为当前线程时线程所处的状态。这也是线程进入运行状态的唯一一种方式。

3、阻塞状态

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

4、等待状态

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

5、超时等待状态

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

6、终止状态

当线程的run()方法完成时,或者主线程的main()方法完成时,我们就认为它终止了。这个线程对象也许是活的,但是,它已经不是一个单独执行的线程。线程一旦终止了,就不能复生。

在一个终止的线程上调用start()方法,会抛出java.lang.IllegalThreadStateException异常。

等待队列

调用obj的wait(), notify()方法前,必须获得obj锁,也就是必须写在synchronized(obj) 代码段内。

同步队列状态

当前线程想调用对象A的同步方法时,发现对象A的锁被别的线程占有,此时当前线程进入同步队列。简言之,同步队列里面放的都是想争夺对象锁的线程。

当一个线程1被另外一个线程2唤醒时,1线程进入同步队列,去争夺对象锁。

同步队列是在同步的环境下才有的概念,一个对象对应一个同步队列。

相关文章

  • java多线程

    线程六种状态 New:尚未启动的线程的线程状态(new Thread) Runnable:可运行线程的线程状态,等...

  • 线程的生命周期及其六种状态的转换

    线程的六种状态 线程的生命周期主要有以下六种状态: New(新创建) Runnable(可运行) Blocked(...

  • 线程的六种状态

    线程一共有六种状态NEW(新建状态:线程被创建没有调用start())RUNNABLE(运行状态:Java线程把操...

  • 并发编程(三):线程状态

    线程状态 现在线程的状态有五种和六种,五种是以操作系统层面描述的,六种是以Java Thread State枚举描...

  • 并发总结(三)关于线程状态

    (一) 线程共有六种状态 (二)与锁相关的线程状态 2.1 当线程在对象的锁池中竞争锁时,状态为 BLOCKED ...

  • java中的线程Thread(2)

    进入后面章节学习之前,我们继续了解线程相关概念。 线程状态说明及对应枚举类 线程的六种状态: NEW:新建状态,线...

  • 说一下Java线程状态及切换

    一、什么是Java线程状态 在Java程序中,用于描述Java线程的六种状态: 新建(NEW):当前线程,刚刚新建...

  • 1.1.2 线程的六种状态

    线程的六种状态 new了线程之后 new start了之后 runnable 使用了synchronizied ,...

  • 网易课第一章java基础

    1.1.1JAVA程序运行机制1.1.2线程的六种状态1.1.3正确的线程中止方法1.1.5线程通讯1.1.6线程...

  • Java 线程生命周期

    线程的六种状态: New Runnable Blocked Waiting Timed Waiting Termi...

网友评论

      本文标题:线程的六种状态

      本文链接:https://www.haomeiwen.com/subject/rqckfktx.html