全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java 多线程Thread与runnable的区别

java 多线程Thread与runnable的区别

java中实现多线程的方法有两种:继承Thread类和实现runnable接口

1,继承Thread类,重写父类run()方法

  public class thread1 extends Thread {
 
    public void run() {
        for (int i = 0; i < 10000; i++) {
            System.out.println("我是线程"+this.getId());
        }
    }
 
    public static void main(String[] args) {
        thread1 th1 = new thread1();
        thread1 th2 = new thread1();
        th1.run();
        th2.run();
    }
   }
 

run()方法只是普通的方法,是顺序执行的,即th1.run()执行完成后才执行th2.run(),这样写只用一个主线程。多线程就失去了意义,所以应该用start()方法来启动线程,start()方法会自动调用run()方法。上述代码改为:

 public class thread1 extends Thread {
    
    public void run() {
        for (int i = 0; i < 10000; i++) {
            System.out.println("我是线程"+this.getId());
        }
    }
 
    public static void main(String[] args) {
        thread1 th1 = new thread1();
        thread1 th2 = new thread1();
        th1.start();
        th2.start();
    }
}

通过start()方法启动一个新的线程。这样不管th1.start()调用的run()方法是否执行完,都继续执行th2.start()如果下面有别的代码也同样不需要等待th2.start()执行完成,而继续执行。(输出的线程id是无规则交替输出的) 

2,实现runnable接口

public class thread2 implements Runnable {
 
    public String ThreadName;
    
    public thread2(String tName){
        ThreadName = tName;
    }
    
    
    public void run() {
        for (int i = 0; i < 10000; i++) {
            System.out.println(ThreadName);
        }
    }
    
    public static void main(String[] args) {
        thread2 th1 = new thread2("线程A");
        thread2 th2 = new thread2("Thread-B");
        th1.run();
        th2.run();
    }
}

和Thread的run方法一样Runnable的run只是普通方法,在main方法中th2.run()必须等待th1.run()执行完成后才能执行,程序只用一个线程。要多线程的目的,也要通过Thread的start()方法(runnable是没有start方法)。上述代码修改为:

public class thread2 implements Runnable {
 
    public String ThreadName;
    
    public thread2(String tName){
        ThreadName = tName;
    }
    
    
    public void run() {
        for (int i = 0; i < 10000; i++) {
            System.out.println(ThreadName);
        }
    }
    
    public static void main(String[] args) {
        thread2 th1 = new thread2("线程A");
        thread2 th2 = new thread2("Thread-B");
        Thread myth1 = new Thread(th1);
        Thread myth2 = new Thread(th2);
        myth1.start();
        myth2.start();
    }
}

 总结:实现java多线程的2种方式,runable是接口,thread是类,runnable只提供一个run方法,建议使用runable实现 java多线程,不管如何,最终都需要通过thread.start()来使线程处于可运行状态。

以上就是关于java多线程的实例详解,如有疑问请留言或者到本站社区交流讨论,本站关于线程的文章还有很多,希望大家搜索查阅,大家共同进步!


# java  # 多线程  # 多线程thread和runnable的对比  # Java多线程ThreadPoolExecutor详解  # Java中使用Thread类和Runnable接口实现多线程的区别  # Java多线程Thread类的使用及注意事项  # Java超详细讲解多线程中的Process与Thread  # Java多线程 ThreadLocal原理解析  # Java多线程ThreadAPI详细介绍  # Java使用Thread创建多线程并启动操作示例  # java多线程Thread的实现方法代码详解  # Java多线程Thread类的使用详解  # 我是  # 也要  # 不需要  # 如有  # 希望大家  # 重写  # 要多  # 有两种  # 只提供  # 后才  # 还有很多  # 方法来  # 应该用  # 共同进步  # 疑问请  # 法会  # 失去了  # 运行状态  # 完成后 


相关文章: 如何在IIS服务器上快速部署高效网站?  教学论文网站制作软件有哪些,写论文用什么软件 ?  做企业网站制作流程,企业网站制作基本流程有哪些?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站专业制作公司有哪些,做一个公司网站要多少钱?  ,有什么在线背英语单词效率比较高的网站?  建站之星各版本价格是多少?  手机网站制作与建设方案,手机网站如何建设?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  如何挑选高效建站主机与优质域名?  建站主机选购指南:核心配置与性价比推荐解析  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  建站之星2.7模板:企业网站建设与h5定制设计专题  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Python lxml的etree和ElementTree有什么区别  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  如何用免费手机建站系统零基础打造专业网站?  网站微信制作软件,如何制作微信链接?  如何在Golang中指定模块版本_使用go.mod控制版本号  广州建站公司哪家好?十大优质服务商推荐  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  深入理解Android中的xmlns:tools属性  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  如何通过万网虚拟主机快速搭建网站?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何通过可视化优化提升建站效果?  如何在建站之星绑定自定义域名?  如何在Windows 2008云服务器安全搭建网站?  建站之星导航如何优化提升用户体验?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  建站之星安装路径如何正确选择及配置?  一键网站制作软件,义乌购一件代发流程?  如何快速搭建安全的FTP站点?  h5网站制作工具有哪些,h5页面制作工具有哪些?  建站主机是否属于云主机类型?  微课制作网站有哪些,微课网怎么进?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  非常酷的网站设计制作软件,酷培ai教育官方网站?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  b2c电商网站制作流程,b2c水平综合的电商平台?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  学校建站服务器如何选型才能满足性能需求?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  盐城做公司网站,江苏电子版退休证办理流程?  如何用VPS主机快速搭建个人网站?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  如何通过FTP服务器快速搭建网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。