189 8069 5689

java中线程的状态有哪些-创新互联

java中线程的状态有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

清水河网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联公司自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

线程可以有六种状态:

  1.New(新创建)

  2.Runnable(可运行)(运行)

  3.Blocked(被阻塞)

  4.Waiting(等待)

  5.Timed waiting(计时等待)

  6.Terminated(被终止)

新创建线程:

 当用new操作符创建一个新线程时,如new Thread(r),该线程还没有开始运行,它的当前状态为new,在线程运行之前还有一些基础工作要做。

可运行线程:

一旦线程调用start方法,线程处于runnable状态。在这个状态下的线程可能正在运行也可能没有运行(也就是说Java规范中正在运行的线程仍然处于可运行状态)。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。

被阻塞线程:

这个状态下, 是在多个线程有同步操作的场景, 比如正在等待另一个线程的synchronized 块的执行释放, 或者可重入的 synchronized块里别人调用wait() 方法, 也就是线程在等待进入临界区。

等待线程:

  这个状态下是指线程拥有了某个锁之后, 调用了它的wait方法,或者线程调用了join方法 join了另外的线程, 等待被他join的线程执行结束的状态。这里要区分阻塞状态 和等待状态的区别, 一个是在临界点外面等待进入, 一个是在临界点里面wait。

计时等待线程:

  当线程调用带有超时参数的方法时会导致线程进入计时等待状态,带有超市参数的方法有Thread.sleep、Object.wait、Thread.join、Lock.tryLock以及Condition.await的计时版。

被终止的线程:

1)线程因为run方法正常退出而自然死亡。

  2)因为一个没有捕获的异常终止了run方法而意外死亡。

线程状态之间的转换:

java中线程的状态有哪些

看完上述内容,你们掌握java中线程的状态有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


文章名称:java中线程的状态有哪些-创新互联
网站网址:http://jkwzsj.com/article/deeccs.html

其他资讯