您的位置:首页 > 编程语言 > Java开发

[Java]Java实现线程操作的两种方法

2015-02-05 21:33 363 查看
原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:/article/7763537.html

方法一:继承Thread类,复写run()方法

继承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接口,实现run()方法

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();
}
}


总结

尽量使用第二种方法,原因有以下几点:

Java是单继承,能少创建一个类就不要创建

增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。方法二是将线程和线程体分开,更有利于程序的模块化降低耦合度

最重要一点是,适合多个相同的程序代码的线程去处理同一个资源。如果一个类继承
Thread
,则不适合资源共享。但是如果实现了
Runable
接口的话,则很容易的实现资源共享
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: