当前位置: 首页 > 编程笔记 >

Java多线程实现的两种方式

充培
2023-03-14
本文向大家介绍Java多线程实现的两种方式,包括了Java多线程实现的两种方式的使用技巧和注意事项,需要的朋友参考一下

java多线程实现方式主要有两种:继承Thread类、实现Runnable接口

1、继承Thread类实现多线程

继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如:

public class MaYi extends Thread {
  String name;
  public MaYi(String name){
    this.name = name;
  }
  public void run(){
    while(true){
      try {
        Thread.sleep(1000);//等待1秒
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      System.out.println(name+"蚂蚁正在下载......");
    }
  }
}

启动线程:

  public static void main1(String[] args) {
    MaYi m1 = new MaYi("1号");
    m1.start();
    MaYi m2 = new MaYi("2号");
    m2.start();

2、实现Runnable接口方式实现多线程

如果自己的类已经继承另一个类,就无法直接extends Thread,此时,必须实现一个Runnable接口,如下:

public class MyThread extends OtherClass implements Runnable { 
  public void run() { 
   System.out.println("MyThread.run()"); 
  } 
}

为了启动MyThread,需要首先实例化一个Thread,并传入自己的MyThread实例:

MyThread myThread = new MyThread(); 
Thread thread = new Thread(myThread); 
thread.start();

事实上,当传入一个Runnable target参数给Thread后,Thread的run()方法就会调用target.run(),参考JDK源代码:

public void run() { 
  if (target != null) { 
   target.run(); 
  } 
} 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍浅谈Java的两种多线程实现方式,包括了浅谈Java的两种多线程实现方式的使用技巧和注意事项,需要的朋友参考一下 本文介绍了浅谈Java的两种多线程实现方式,分享给大家。具有如下: 一、创建多线程的两种方式 Java中,有两种方式可以创建多线程: 1 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2 通过实现Runnable接口,实例化Threa

  • 本文向大家介绍Java多线程中的单例模式两种实现方式,包括了Java多线程中的单例模式两种实现方式的使用技巧和注意事项,需要的朋友参考一下 Java多线程中的单例模式 一、在多线程环境下创建单例 方式一: 方式二: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 本文向大家介绍Java 多线程有几种实现方式?相关面试题,主要包含被问及Java 多线程有几种实现方式?时的应答技巧和注意事项,需要的朋友参考一下 有4种,分别是: 继承Thread类 实现Runnable接口 实现Callable接口通过FutureTask包装器来创建Thread线程 通过线程池创建线程,使用线程池接口ExecutorService结合Callable、Future实现有返回结

  • 本文向大家介绍java 多线程的几种实现方法总结,包括了java 多线程的几种实现方法总结的使用技巧和注意事项,需要的朋友参考一下 java 多线程的几种实现方法总结 1.多线程有几种实现方法?同步有几种实现方法? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify wait():使一个线程处于等待

  • 本文向大家介绍详细解读JAVA多线程实现的三种方式,包括了详细解读JAVA多线程实现的三种方式的使用技巧和注意事项,需要的朋友参考一下 最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结。 1、继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且

  • 本文向大家介绍Java多线程实现四种方式原理详解,包括了Java多线程实现四种方式原理详解的使用技巧和注意事项,需要的朋友参考一下 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target 3.通过Callable和FutureTask创建线程 4.通过线程池创建线程 前面两种可以归结为一

  • 本文向大家介绍Java创建线程的两种方式,包括了Java创建线程的两种方式的使用技巧和注意事项,需要的朋友参考一下 前言 多线程是我们开发过程中经常遇到的,也是必不可少需要掌握的。当我们知道需要进行多线程开发时首先需要知道的自然是如何实现多线程,也就是我们应该如何创建线程。 在Java中创建线程和创建普通的类的对象操作是一样的,我们可以通过两种方式来创建线程: 1、继承Thread类,并重写run

  • 本文向大家介绍Java多线程实现Runnable方式,包括了Java多线程实现Runnable方式的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Java多线程实现Runnable方式的具体方法,供大家参考,具体内容如下 (一)步骤  1.定义实现Runnable接口  2.覆盖Runnable接口中的run方法,将线程要运行的代码存放在run方法中。 3.通过Thread类建立线程对象