java多线程的实现方式和异同点

时间:2021-08-27 17:33:49

多线程有哪些实现方式,有什么区别

java中可以通过继承Thread和实现Runnable接口来实现多线程。


两者的区别:

  1. 一个类只能继承一个父类,存在局限(单继承局限);但一个类中可以实现多个接口。

  2. 在实现Runable接口的时候调用Thread的Thread(Runnable run)或者Thread(Runnable run,
    String name)构造方法创建进程时,使用同一个Runnable实例,所以建立的多线程的实例变量是可以共享的。

public class RunThread implements Runnable{}
    public static void main(String[] args){
        RunThread thread = new RunThread();
        new Thread(thread).start();
        new Thread(thread).start();
}

两者的联系

Runnable接口和Thread之间的联系:
Thread实现了Runnable接口
public class Thread extends Object implements Runnable