2013年计算机二级Java多线程入门技巧和方法10

牛课网 考试宝典 更新时间:2024-05-18 14:11:47

浙江湖州中考语文试卷 小儿厌食的中医辨证论治 佳木斯历届高考状元

为了帮助你在有效的时间内提高考试成绩,我们考吧网整理了有关计算机等级二级考试复习资料和方法技巧,希望通过本次练习对你有所帮助。

2013年计算机二级Java多线程入门技巧和方法10

线程的生命周期

与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。

// 开始线程

2.public void start( );

3.public void run( );

4.

5.// 挂起和唤醒线程

6.public void resume( ); // 不建议使用

7.public void suspend( ); // 不建议使用

8.public static void sleep(long millis);

9.public static void sleep(long millis, int nanos);

10.

11.// 终止线程

12.public void stop( ); // 不建议使用

13.public void interrupt( );

14.

15.// 得到线程状态

16.public boolean isAlive( );

17.public boolean isInterrupted( );

18.public static boolean interrupted( );

19.

20.// join方法

21.public void join( ) throws InterruptedException;

一、创建并运行线程

线程在建立后并不马上执行run方法中的代码,而是处于等待状态。线程处于等待状态时,可以通过Thread类的方法来设置线程不各种属性,如线程的优先级(setPriority)、线程名(setName)和线程的类型(setDaemon)等。

当调用start方法后,线程开始执行run方法中的代码。线程进入运行状态。可以通过Thread类的isAlive方法来判断线程是否处于运行状态。当线程处于运行状态时,isAlive返回true,当isAlive返回false时,可能线程处于等待状态,也可能处于停止状态。下面的代码演示了线程的创建、运行和停止三个状态之间的切换,并输出了相应的isAlive返回值。

22.package chapter2;

23.

24.public class LifeCycle extends Thread

25.{

26. public void run()

27. {

28. int n = 0;

29. while ((++n) < 1000);

30. }

31.

32. public static void main(String[] args) throws Exception

33. {

34. LifeCycle thread1 = new LifeCycle();

35. System.out.println("isAlive: " + thread1.isAlive());

36. thread1.start();

37. System.out.println("isAlive: " + thread1.isAlive());

38. thread1.join(); // 等线程thread1结束后再继续执行

39. System.out.println("thread1已经结束!");

40. System.out.println("isAlive: " + thread1.isAlive());

41. }

42.}

要注意一下,在上面的代码中使用了join方法,这个方法的主要功能是保证线程的run方法完成后程序才继续运行,这个方法将在后面的文章中介绍

上面代码的运行结果

isAlive: false

isAlive: true

thread1已经结束!

isAliv

ve: false

考试宝典安装说明

宝典适用于手机、电脑、平板,您可安装客户端或在浏览器使用。

电脑版

手机版

网页版

考试宝典咨询
服务热线

TEL:029-88699698