课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java编程开发语言是目前学习人数和使用范围都非常广泛的一个编程开发语言,而本文我们就简单来了解一下,Java编程线程状态类型。
现在我们所说的是Java中的线程Thread,一个线程在一个给定的时间点,只能处于一种状态,这些状态都是虚拟机的状态,不能反映任何操作系统的线程状态,一共有六种/七种状态:
NEW:创建了线程对象,但是还没有调用Start()方法,还没有启动的线程处于这种状态。
Running:运行状态,其实包含了两种状态,但是Java线程将就绪和运行中统称为可运行
Runnable:就绪状态:创建对象后,调用了start()方法,该状态的线程还位于可运行线程池中,等待调度,获取CPU的使用权
只是有资格执行,不一定会执行
start()之后进入就绪状态,sleep()结束或者join()结束,线程获得对象锁等都会进入该状态。
CPU时间片结束或者主动调用yield()方法,也会进入该状态
Running:获取到CPU的使用权(获得CPU时间片),变成运行中
BLOCKED:阻塞,线程阻塞于锁,等待监视器锁,一般是Synchronize关键字修饰的方法或者代码块
WAITING:进入该状态,需要等待其他线程通知(notify)或者中断,一个线程无限期地等待另一个线程。
TIMED_WAITING:超时等待,在指定时间后自动唤醒,返回,不会一直等待
TERMINATED:线程执行完毕,已经退出。如果已终止再调用start(),将会抛出java.lang.IllegalThreadStateException异常。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。