多线程学习笔记(一)线程的创建

本文详细介绍了Java中创建多线程的五种常见方式,包括通过继承Thread类、实现Runnable接口、使用匿名内部类、lambda表达式以及通过线程池创建线程。文章深入分析了每种方式的实现原理及应用场景,特别强调了lambda表达式作为Java8的新特性,值得深入学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多线程的五种创建方式。

第一种:通过继承Thread类

public class CreateThread01 extends Thread{
    @Override
    public void run(){
        //在run方法中实现要实现的业务逻辑
        System.out.println(Thread.currentThread().getName());
    }

    public static void main(String[] args) {
        CreateThread01 thread01 = new CreateThread01();
        thread01.setName("dome1");
        thread01.start();
    }

}

第二种:通过实现 Runnable 创建线程

public class CreateThread02 implements Runnable {
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }

    public static void main(String[] args) {
        Thread thread = new Thread(new CreateThread02());
        thread.setName("dome2");
        thread.start();
    }
}

第三种:通过匿名内部类创建线程

public class CreateThread03 {
    public static void main(String[] args) {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName());
            }
        });
        thread.start();
    }
}

第四种:通过lambda表达式创建

public class CreateThread04 {
    public static void main(String[] args) {
        new Thread(()-> {
            System.out.println(Thread.currentThread().getName());
        }).start();
    }
}

第五种:通过线程池创建

public class CreateThread05 {
    public static void main(String[] args) {
        ExecutorService executorService = Executors.newSingleThreadExecutor();
        executorService.execute(()->{
            System.out.println(Thread.currentThread().getName());
        });
    }
}

总结:其实在工作中第二种用到的比较多,在java中因为是单继承,故不推荐使用第一种,而java可以实现多个接口。所以第二种比较多。第四种为lambda表达式是java8的新特性值得深入学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值