线程的四种创建方式

本文介绍了Java中创建线程的四种方式:1) 继承Thread类;2) 实现Runnable接口;3) 使用Callable与FutureTask创建有返回值的线程;4) 利用线程池创建线程。通过对比分析,详细阐述每种方式的特点和应用场景。

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

一、继承Thread类

创建类继承Thread类,并重写run()方法,通过start()启动线程。以继承的方式创建的线程可以使用当前类来获取线程的名称、状态、优先级等相关信息,因为其继承了Thread类的相关方法。

public class MyThread extends Thread{

    @Override
    public void run(){
        //......
        //......
        //业务代码
    }
}
public class Test{

    public static void main(){
        //创建对象
        MyThread thread = new MyThread();
        //启动线程
        thread.start();
        //获取当前线程名称
        thread.getName()
    }
}

二、实现Runnable接口

在第一种方法中,是通过继承的方式创建线程,而Java中的类是不支持多继承,所以用第一种方式创建线程那么该类就无法在继承其他类,但是在Java中一个类可以实现多个接口,而 第二种方式就是通过实现Runnable接口创建线程,这种方式相较第一种来说更加的灵活,更契合面向对象思想。

在Thread类中为我们提供了一个以Runnable为参数的构造器,此方式就是以此构造器创建线程。

//Thread类部分源码
public Thread(Runnable target) {
    init(null, target, "Thread-" + nextThreadNum(), 0);
}
//自定义类实现Runnable接口
public class 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值