Java基础笔记 – 线程的生命周期 线程的状态 优先级和常用方法
本文由发表于6年前 | Java基础 | 评论数 1 |  被围观 6,676 views+
1、线程的生命周期:1.1、可分为四个状态:创建状态可运行状态不可运行状态消亡状态1.2、线程状态转换图:2、线程的优先级设置:3、线程类的常用方法:
1、线程的生命周期:
1.1、可分为四个状态:
创建状态

使用new操作符创建新的线程类对象时,该线程处于创建状态。

处于创建状态的线程只是一个对象,系统还没有为其分配资源。

可运行状态

执行线程的start()方法,为线程分配系统资源,安排其运行,并调用其run()方法,这样就使线程进入可运行状态了。

可运行状态并不一定表示运行中。

不可运行状态

当发生下列事件时,处于运行状态的线程将进入不可运行状态:

调用sleep()方法,使线程进入睡眠状态
调用yield()方法,让出CPU的占用权
线程调用wait方法等待特定条件满足
线程IO阻塞
另一个更高优先级的线程出现
在支持时间片的系统中,线程的时间片用完
调用了synchronized方法或者synchronized同步代码块使得对象被锁
yield
        public static void yield()
        暂停当前正在执行的线程对象,并执行其他线程。

返回可运行状态:

处于睡眠状态的线程在指定的睡眠事件之后

如果线程正在等待某一条件,另一对象必须使用notify()或notifyAll()方法通知等待线程

如果线程因为IO阻塞,则等待IO操作完成之后返回可运行状态

调用了synchronized方法,则等待方法执行完成进行解锁

消亡状态

当run方法执行结束后,进入消亡状态。

1.2、线程状态转换图:

2、线程的优先级设置:


线程优先级按如下规则设置:

子线程继承父线程的优先级

创建线程后,可以通过调用setPriority(int newPriority)改变优先级(1-10,10最大)。

java.lang.Thread
public static final int	MAX_PRIORITY  10
public static final int	MIN_PRIORITY  1
public static final int	NORM_PRIORITY  5

虽然优先级可以设置,但是也会随着运行环境而动态改变,所以最好不要依赖于设置优先级。

3、线程类的常用方法:
isAlive
public final boolean isAlive()
        测试线程是否处于活动状态。如果线程已经启动且尚未终止,则为活动状态。
        返回:
        如果该线程处于活动状态,则返回 true;否则返回 false。
getPriority
public final int getPriority()
        返回线程的优先级。
        返回:
        该线程的优先级。
setPriority
public final void setPriority(int newPriority)
        更改线程的优先级。
sleep
public static void sleep(long millis)
                  throws InterruptedException
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。该线程不丢失任何监视器的所属权。
yield
public static void yield()
        暂停当前正在执行的线程对象,并执行其他线程。
除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/java-based-notebook-the-life-cycle-of-thread-priorities-and-thread-status-of-common-method.html
关键字: , ,
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2011 10/24
文章评论
    一条评论
给我留言

有人回复时邮件通知我
Java基础的相关文章
随机文章 本月热门 热评
1 任何不以学习知识为目的的考试都是耍流氓-软件工程导论试题 2011/7/4
2 IE6下常见的几个CSS兼容问题 2011/4/10
3 WebLogic服务器的安装,基本配置和使用 2011/11/30
4 碰撞球(连连看)游戏 连连看匹配算法分析与实现思路 2012/4/10
5 微型计算机技术实用知识点问答题 2011/6/29
6 一些常用的音乐英语词汇 2012/10/22
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
猜您喜欢
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.