Java入门笔记6_线程

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

1. 多线程

1.1 创建线程类

在Java中可以简单的从Thread类中继续创建自己的线程类:

public class MyFirstThread extends Thread {

public void run() { . . .}

}

说明:

(1) Thread类位是java.lang包中,所以可以不用显示import;

(2) 从Thread类中继续下来的类最好重载run()方法,以运行需要的代码;

可以按以下方法实例化并运行线程:

MyFirstThread aMFT = new MyFirstThread();

aMFT.start();

说明:

(3) 实例化线程类后,系统会初始化一些参数,主要是为线程创建名称,把新的线程加入指定的线程组,初始化线程运行需要的内存空间,指定新线程的优先级别,指定它的守候线程;

(4) start方法是Thread类中的方法,它会调用run方法,在新的线程中运行指定的代码;

(5) 除了start方法外,从Thread继续下来的类还具有其它一些主要的方法:stop,suspend,resume等;

以下是一个完整的Thread派生类:

1: public class ComplexThread extends Thread {

2: private int delay;

3:

4: ComplexThread(String name, float seconds) {

5: super(name);

6: delay = (int) seconds * 1000; // delays are in milliseconds

7: start(); // start up ourself!

8: }

9:

10: public void run() {

11: while (true) {

12: System.out.println(Thread.currentThread().getName());

13: try {

14: Thread.sleep(delay);

15: } catch (InterruptedException e) {

16: return;

17: }

18: }

19: }

20:

21: public static void main(String argv[]) {

22: new ComplexThread("one potato", 1.1F);

23: new ComplexThread("two potato", 1.3F);

24: new ComplexThread("three potato", 0.5F);

25: new ComplexThread("four", 0.7F);

26: }

27: }

1.2 Runable接口

创建多线程运行指定代码的另一种方法是,在创建类时implement Runable这个接口:

public class MySecondThread extends ImportantClass implements Runnable {

public void run() {. . .}

}

说明:

(1) 该类implement Runable接口,就表明有意图运行在单独的线程中,Thread也是implement Runable接口的;

(2) Implement Runalbe接口至少需要实现run方法;

以下是创建新线程运行该类的实例:

MySecondThread aMST = new MySecondThread();

Thread aThread = new Thread(aMST);

aThread.start();

说明:

(3) Thread类有多个构造函数Thread()、Thread(Runable target)等,本例中用的就是第二个构造函数,它有一个Runable类型的函数,所以要在多线程中运行的实例的类必须是implement Runable的;

(4) AThead.start()方法调用Thread实例的中的target.run方法,本例中就是MySecondThread实例中的run方法;

(5) Thread构造函数还可以指定线程名,运行所需的stack,线程所属的组等;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航