189 8069 5689

Java中如何创建线程

Java中如何创建线程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联2013年开创至今,先为谢家集等服务建站,谢家集等地企业,进行企业商务咨询服务。为谢家集企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

Java实现并启动线程有两种方法

1、写一个类继承自Thread类,重写run方法。用start方法启动线程2、写一个类实现Runnable接口,实现run方法。用new Thread(Runnable target).start()方法来启动

注意:start方法不是立即执行多线程,而是使得该线程变为就绪态(Runnable)

1.通过扩展Thread类来创建线程

(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。

(2)创建Thread子类的实例,即创建了线程对象。

(3)调用线程对象的start()方法来启动该线程。

public class MutliThreadDemo {  public static void main(String[] args) {        //创建Thread子类的实例,即创建了线程对象    MutliTread mt1 = new MutliTread("Thread");          //不立即执行多线程代码,而是使得该线程变为就绪态(Runnable)    mt1.start();  }  }//通过扩展Thread类来创建线程class MutliTread extends Thread{    public MutliTread(String name) {    this.setName(name);    //或super(name)  }  public void run() {    for(int i = 0; i < 10; i++) {      System.out.println(Thread.currentThread().getName() + ":" + i);    }    }}

2.通过Runnable接口创建线程

(1)定义runnable接口的实现类,并实现该接口的run()方法,该run()方法的方法体同样是该线程的线程执行体。

(2)创建 Runnable实现类的实例,并依此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。

(3)调用线程对象的start()方法来启动该线程。

public class MutliThreadDemo3 {    public static void main(String[] args) {         //创建一个Runnable接口实现类    MutliTread3 m = new MutliTread3();        //实例化线程对象    Thread t1 = new Thread(m, "甲");    Thread t2 = new Thread(m, "乙");    Thread t3 = new Thread(m, "丙");    t1.start();    t2.start();    t3.start();  }  }class MutliTread3 implements Runnable{    public void run() {    for(int i = 0; i < 10; i++) {      System.out.println(Thread.currentThread().getName() + ":" + i);    }    }}

当然第二种方法也可通过匿名内部类或lambda表达式实现,会更简洁。以下通过Lambda表达式实现run方法:

public class MutliThreadDemo3 {    public static void main(String[] args) {        Runnable r = () -> {        for(int i = 0; i < 10; i++) {        System.out.println(Thread.currentThread().getName() + ":" + i);      }      };        //实例化线程对象    Thread t1 = new Thread(r, "甲");    Thread t2 = new Thread(r, "乙");    Thread t3 = new Thread(r, "丙");    t1.start();    t2.start();    t3.start();  }  }

注:以上三种方式(本质上是两种)创建的三个线程其实是互相独立的

看完上述内容,你们掌握Java中如何创建线程的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


分享文章:Java中如何创建线程
标题网址:http://cdxtjz.cn/article/pdgecj.html

其他资讯