【java】ThreadRunnable接口抽象类(想到啥更新啥)

    xiaoxiao2022-07-04  126

    Thread/Runnable

    Thread为一个类,Runnable为接口。在需要继承其他父类的时候只能使用Runnable。继承Thread的类可以直接调用start函数 public class A extends Thread { public static void main(String args[]) { A a = new A(); a.start(); } @Override public void run(){...} }

    Runnable需要通过Thread进行start,同时也没有Thread的一些方法,比如CurrentThread之类的

    public class A implements Runnable { public static void main(String args[]) { A a = new A(); Thread t = new Thread(a); t.start(); } @Override public void run(){...} }

    很明显Runnable创建线程可以更好共享一个资源(这里是a对象),Thread类每创建一个线程都是一个独立的对象

    Q:Thread如何共享同一资源? A: Thread类实现了implements接口

    class Thread implements Runnable

    所以类比Runnable方法可以强行这样写

    public class A extends Thread { public static void main(String args[]) { A a = new A(); //a.start; 这里本就可以启动线程了,但是为了共享多写一步 Thread t = new Thread(a); t.start(); } @Override public void run(){...} }

    接口/抽象类

    转自…

    最新回复(0)