原创文章,欢迎转载。转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/43537325
继承Thread类,复写run()方法
class FirstTread externs Thread{
@overrid
public void run(){
for(int i = 0; i<100; i++){
System.out.println("第一种方法 : " + i );
}
}
}
实例化FirstThread
对象,调用FirstThread
对象中的start()
方法
class Test{
public static void main(String[] args) {
//生成线程类的对象
FirstThread ft = new FirstThread();
//执行start()方法,启动线程
ft.start();
}
}
Runnable接口的实现类 RunnableImpl
。
class RunnableImpl implements Runnable{
@overrid
public void run(){
for(int i = 0; i<100; i++){
System.out.println("第二种方法 : " + i );
}
}
}
将RunnableImpl
的对象作为参数传给Thread
对象,用start()
方法启动线程。
class Test{
public static void main(String[] args) {
//生成一个Runnable接口实现类的对象
RunnableImpl ri = new RunnableImpl();
//生成一个Thread对象,并将Runnable接口的实现类作为参数
//传递给Thread对象
Thread t = new Thread(ri);
//执行start()方法
t.start();
}
}
尽量使用第二种方法,原因有以下几点:
Thread
,则不适合资源共享。但是如果实现了Runable
接口的话,则很容易的实现资源共享