星空网 > 软件开发 > Java

Java多线程的使用

Java有两种方式实现多线程

 

 

第一种——继承Thread类,并重写run方法

 

步骤:

  1. 定义类继承Thread类;
  2. 重写子类的run方法,将线程需要执行的代码写在run方法中;
  3. 创建子类的对象,则创建了线程对象;
  4. 调用该对象的start方法,开启线程。

 

实例:

public class MyThread extends Thread() {  @Override  public void run() {    // 多线程代码  }  // 其他代码}

Thread t = new MyThread();t.start();

 

 

第二种——实现Runnable接口,用该类的对象构造Thread类

 

步骤:

  1. 定义类实现Runnable接口;
  2. 实现接口中的run方法,将线程需要执行的代码写在run方法中;
  3. 用接口对象构造一个Thread对象;
  4. 调用Thread对象的start方法,开启线程。

 

实例:

public class MyClass implements Runnable() {  public void run() {    // 多线程代码  }  // 其他代码}

MyClass m = new MyClass();Thread t = new Thread(m);t.start();

 

 

start方法的功能

  1. 启动了线程
  2. 让jvm调用了Thread类(或子类)对象的run方法

 

 

为什么可以有以上两种方式实现多线程?

 

对于第一种方式很容易理解。由于重写了Thread类的run方法,调用start方法启动线程后,jvm将调用子类重写的run方法;

对于第二种方式,调用start方法启动线程后,jvm将调用Thread类的run方法,其代码如下:

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

其中target为Thread类的成员变量,类型为Runnable。在用Runnable对象构造Thread时,会使target引用该接口对象,所以执行target.run()时,实际上执行了接口对象的run方法。




原标题:Java多线程的使用

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

Noon今年要大干一场?旗下多个电商平台纷纷发力预热旺季:https://www.kjdsnews.com/a/671549.html
2021 信息丛林法则之聊一聊SEO:https://www.kjdsnews.com/a/671550.html
如果14年你做亚马逊会成功吗?:https://www.kjdsnews.com/a/671551.html
Q3 DTC品牌榜单:向「FIGS」和「Lululemon」看齐的品牌们能再现佳绩吗?:https://www.kjdsnews.com/a/671552.html
亚马逊运营建议,都在这份竞品分析清单里:https://www.kjdsnews.com/a/671553.html
发明维权!看似常见的生存手链已提专利诉讼:https://www.kjdsnews.com/a/671554.html
37号文今后是否会更新?一文详解关键信息 :https://www.kjdsnews.com/a/1836441.html
探讨内地人开设香港账户的可行性 :https://www.kjdsnews.com/a/1836442.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流