线程创建的五种写法(最全)(第五种也是实际开发中最常用最简单的一种)

一、利用MyThead继承Thread接口,并在其中重写run()方法
class MyThread extends Thread{
    @Override
    public void run() {
        System.out.println("hh");
    }
}

public class ThreadDemo1 {

    public static void main(String[] args) {

        Thread u=new MyThread();
        u.start();
        System.out.println("jj");
    }
}
二、利用MyRunnabale实现Runnable接口,别在其中重写run()方法


class MyRunnable implements Runnable{
    @Override
    public void run() {
        System.out.println("hh");
    }
}
public class ThreadDemo2 {
    public static void main(String[] args) {
        MyRunnable myRunnable=new MyRunnable();
        Thread t=new Thread(myRunnable);
        t.start();
        System.out.println("jj");
    }

}
三、在一的基础上利用匿名内部类实现
public class ThreadDemo3 {
    public static void main(String[] args) {
        Thread t=new Thread(){
            @Override
            public void run() {
                System.out.println("hh");
            }
        };
        t.start();
        System.out.println("jj");
    }
}
四、在二的基础上利用匿名内部类实现
public class ThreadDemo4 {
    public static void main(String[] args) {
        Thread t=new Thread(new MyRunnable(){
            @Override
            public void run() {
                System.out.println("hh");
            }
        });
        t.start();
        System.out.println("jj");
    }
}
五、利用lambda表达式实现

线程创建的五种写法(最全)(第五种也是实际开发中最常用最简单的一种)_第1张图片

public class ThreadDemo5 {
    public static void main(String[] args) {
        Thread t=new Thread(()->{
            System.out.println("hh");
        });
        t.start();
        System.out.println("jj");
    }

}

你可能感兴趣的:(java)