码迷,mamicode.com
首页 > 编程语言 > 详细

Java多线程之线程状态总结

时间:2019-01-15 23:32:55      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:技术分享   运行   相关   exce   ted   对象   相同   方法   exception   

概述

线程大家肯定不陌生,对于线程中的运行状态,自己经常搞混淆,这边按照下图记录下:

技术分享图片

线程一般来说有如下几种状态:

新建,可运行,超时阻塞,等待阻塞,同步阻塞,死亡

yeild:当线程执行了yield()方法后,将转到就绪状态,yield()方法只会给相同优先级或者更高优先级的线程一个运行的机会,与其他进程处于同等竞争状态,OS有可能会接着又让这个进程进入运行状态,yield()方法没有声明抛出任何异常

sleep:sleep()方法会给其他线程运行的机会,而不考虑其他线程的优先级,因此会给较低线程一个运行的机会,sleep()方法声明抛出InterruptedException异常,sleep方法并不会释放占用的资源。

join:阻塞当前线程,等待其他线程执行完毕,不会释放占用的资源

wait:调用wait 方法后,它就进入到一个和该对象相关的等待池中,同时失去了对象的锁,只有notify能够唤醒,等待获取锁,继续执行。

Java多线程之线程状态总结

标签:技术分享   运行   相关   exce   ted   对象   相同   方法   exception   

原文地址:https://www.cnblogs.com/xiaobaobei/p/10272784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!