日期:2011-01-26 02:54:00 来源:本站整理
Java多线程初学者指南(4):线程的生命周期[Java编程]
本文“Java多线程初学者指南(4):线程的生命周期[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
与人有生老病死一样,线程也一样要阅历开始(等候)、运行、挂起和终止四种差别的状况.这四种状况都可以通过Thread类中的办法举行掌握.下面给出了Thread类中和这四种状况相关的办法.
// 开始线程 public void start( ); public void run( ); // 挂起和唤醒线程 public void resume( ); // 不倡议利用 public void suspend( ); // 不倡议利用 public static void sleep(long millis); public static void sleep(long millis, int nanos); // 终止线程 public void stop( ); // 不倡议利用 public void interrupt( ); // 得到线程状况 public boolean isAlive( ); public boolean isInterrupted( ); public static boolean interrupted( ); // join办法 public void join( ) throws InterruptedException; |
1、成立并运行线程
线程在成立后并不即刻履行run办法中的代码,而是处于等候状况.线程处于等候状况时,可以通过Thread类的办法来设置线程不各种属性,如线程的优先级(setPriority)、线程名(setName)和线程的范例(setDaemon)等.
当调用start办法后,线程开始履行run办法中的代码.线程进入运行状况.可以通过Thread类的isAlive办法来判断线程能否处于运行状况.当线程处于运行状况时,isAlive返回true,当isAlive返回false时,大概线程处于等候状况,也大概处于终止状况.下面的代码演示了线程的成立、运行和终止三个状况之间的切换,并输出了呼应的isAlive返回值.
package chapter2; public class LifeCycle extends Thread { public void run() { int n = 0; while ((++n) < 1000); } public static void main(String[] args) throws Exception { LifeCycle thread1 = new LifeCycle(); System.out.println("isAlive: " + thread1.isAlive()); thread1.start(); System.out.println("isAlive: " + thread1.isAlive()); thread1.join(); // 等线程thread1完毕后再持续履行 System.out.println("thread1已经完毕!"); System.out.println("isAlive: " + thread1.isAlive()); } } |
要注意一下,在上面的代码中利用了join办法,这个办法的主要功效是保证线程的run办法完成后程序才持续运行,这个办法将在背面的文章中介绍
上面代码的运行后果:
isAlive: false isAlive: true thread1已经完毕! isAlive: false |
以上是“Java多线程初学者指南(4):线程的生命周期[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论