Runnable接口分析

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口.

Runnable接口非常简单,就定义了一个方法run(),继承Runnable并实现这个

方法就可以实现多线程了,但是这个run()方法不能自己调用,必须由系统来调用,否则就和别的方法没有什么区别了.

先给一个简单的例子:

public class MultiThread implements Runnable{

public static void main(String[] args){

for(int i=0;i<10;i++){

new Thread(new MultiThread()).start();//correct

//new Thread(new MultiThread()).run 1

//new MultiThread().run() 2

}

}

public void run(){

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

}

}

运行后应该启动了10个新的线程,加上主线程一共11个线程,应该输出是Thread-1知道10.

这里要注意启动线程的方式是调用了Thread的start()方法,而不是run方法,如果

用注释里的1或者2输入都是10个main,因为这个时候run()方法还原了,和普通方法一样了.

我们也可以得出一个结论:所有的线程在运行时都是一个Thread实例,虽然可以不用继承Thread

实现多线程,但是最终还是Thread的一个实例.

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