Java随笔-线程创建

创建方式

线程创建的方式有人认为有三种,有人认为两种。
若是认为有三种,则分别是:

  1. Thread扩展类
  2. Runnable接口实现类
  3. 通过Callable和Future创建

若是认为有三种,则分别是:

  1. Thread扩展类
  2. Runnable接口实现类

在JDK中Thread.java中有明确指出,以JDK16为例。

在这里插入图片描述
文档中指出,有两种创建线程的方式,一种是创建Thread扩展类,一种是Runnable实现类。这两种方式是官方说明。

使用

Thread

创建Thread扩展类,并重写run() 。

    public static void main(String[] args) {
        System.out.println(Thread.currentThread().getName());
        // Thread扩展类
        ThreadPattern threadPattern = new ThreadPattern();
        threadPattern.start();
    }

    /**
     * Thread扩展类
     */
    private static class ThreadPattern extends Thread{
        @Override
        public void run() {
            super.run();
            System.out.println(Thread.currentThread().getName());
            System.out.println("Thread扩展类");
        }
    }

结果:

main
Thread-0
Thread扩展类

main方法运行在main线程中,而新创建的线程是Thread-0,说明确实创建新线程。run方法中则是具体的业务实现。

Runnable

创建Runnable接口实现类,并重写run方法。

    public static void main(String[] args) {
        System.out.println(Thread.currentThread().getName());
        // Runnable实现
        RunnablePattern runnablePattern = new RunnablePattern();
        Thread thread = new Thread(runnablePattern);
        thread.start();
    }
    
    /**
     * Runnable实现
     */
    private static class RunnablePattern implements Runnable{

        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName());
            System.out.println("Runnable实现");
        }
    }

    public static void main(String[] args) {
        System.out.println(Thread.currentThread().getName());
        // 匿名
        new Thread(() -> {
            System.out.println(Thread.currentThread().getName());
            System.out.println("Runnable实现");
        });
    }

结果:

main
Thread-1
Runnable实现

说明Runnable接口类确实创建了新线程Thread-1。

总结

  • Thread是线程的抽象
  • Runnable则是业务的抽象
  • 若是有人说两种不对,可以引用官方说明。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值