前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Java]Java实现线程操作的两种方法

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

作者头像
祥知道
发布2020-03-10 14:49:30
3140
发布2020-03-10 14:49:30
举报
文章被收录于专栏:祥的专栏

原创文章,欢迎转载。转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/43537325


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


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

代码语言:javascript
复制
class FirstTread externs Thread{
    @overrid
    public void run(){
        for(int i = 0; i<100; i++){
            System.out.println("第一种方法 : " + i );
        }
    }
}

实例化FirstThread对象,调用FirstThread对象中的start()方法

代码语言:javascript
复制
class Test{
    public static void main(String[] args) {
        //生成线程类的对象
        FirstThread ft = new FirstThread();     
        //执行start()方法,启动线程
        ft.start();
    }
}

方法二:实现Runnable接口,实现run()方法


Runnable接口的实现类 RunnableImpl

代码语言:javascript
复制
class RunnableImpl implements Runnable{
    @overrid
    public void run(){
        for(int i = 0; i<100; i++){
            System.out.println("第二种方法 : " + i );
        }
    }
}

RunnableImpl的对象作为参数传给Thread对象,用start()方法启动线程。

代码语言:javascript
复制
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接口的话,则很容易的实现资源共享
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一:继承Thread类,复写run()方法
  • 方法二:实现Runnable接口,实现run()方法
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档