线程的五种创建方式

线程的五种创建方式:
1、继承Thread类,重写run()方法,调用start()方法启动线程
public class TestThread1 extends Thread {
    @Override
    //run()方法,线程处于运行态执行的程序
    public void run() {
        for(int i=0;i<20;i++){
            System.out.println("星期一  "+i);
        }
    }
    public static void main(String[] args) {
        //创建一个线程对象
        TestThread1 t1=new TestThread1();
        //调用start()方法启动线程,盛情系统调度并运行。
        t1.start();
        for(int i=0;i<1000;i++){
            System.out.println("星期二  "+i);
        }
    }
}
2、实现Runnable接口,重写run()方法,创建Runnable接口实现类的对象,将Runnable接口类对象作为Thread类的参数。
class TestThread2 implements Runnable{
    @Override
    public void run() {
        for(int i=0;i<20;i++){
            System.out.println("晴天  "+i);
        }
    }

    public static void main(String[] args) {
        //创建Runnable接口实现类的对象
       TestThread2 t2=new TestThread2();
       //创建线程对象
       new Thread(t2).start();
        for(int i=0;i<1000;i++){
            System.out.println("雨天  "+i);
        }
    }
}

3、使用匿名类创建 Thread 子类对象
class TestThread3{
    public static void main(String[] args) {
        Thread t1 = new Thread() {
            @Override
            public void run() {
                System.out.println("使用匿名类创建 Thread 子类对象");
            }
        };
        t1.start();
    }
}
4、使用匿名类创建 Runnable 子类对象
class TestThread4{
    public static void main(String[] args) {
        Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("使用匿名类创建 Runnable 子类对象");
            }
        });
        t2.start();
    }
}
5、使用 lambda 表达式创建 Runnable 子类对象
class TestThread5{
    public static void main(String[] args) {
        Thread t3 = new Thread(() -> {
            System.out.println("使用lambda 表达式创建 Runnable子类对象");
        });
        t3.start();
    }
}
函数式接口定义:任何接口只要包含一个唯一的抽象方法,那么它就是一个函数式接口。对于任意的函数式接口,我们可以通过lambda表达式来创建该接口对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值