实现多线程的三种方式

本文详细介绍了Java中实现多线程的三种方法:继承Thread类、实现Runnable接口和实现Callable接口。通过实例解析了每种方式的实现步骤,包括run()、start()方法的使用,以及FutureTask和call()方法在Callable接口中的应用。对比分析了它们的适用场景和特点。
摘要由CSDN通过智能技术生成
  • 继承Thread类

实现步骤:

  1. 定义一个类MyThread继承Thread
  2. MyThread类中重写run()方法
  3. 创建MyThread类的对象
  4. 启动线程

 成员方法:

方法名说明
void run()在线程开启后,此方法将被调用执行
void start()使此线程开始执行,Java虚拟机会调用run方法()

 构造方法:

方法名说明
Thread(Runnable target)分配一个新的Thread对象
Thread(Runnable target, String name)分配一个新的Thread对
  • 实现Runnable接口

实现步骤 

  1.  定义一个类MyRunnable实现Runnable接口
  2. 在MyRunnable类中重写run()方法
  3. 创建MyRunnable类的对象
  4. 创建Thread类的对象,把MyRunnable对象作为构造方法的参数
  5. 启动线程
  • 实现Callable接口

 方法:

方法名说明
V call()计算结果,如果无法计算结果,则抛出一个异常
FutureTask(Callable<V> callable)创建一个 FutureTask,一旦运行就执行给定的 Callable
V get()如有必要,等待计算完成,然后获取其结果

实现步骤 :

  1. 定义一个类MyCallable实现Callable接口

  2. 在MyCallable类中重写call()方法

  3. 创建MyCallable类的对象

  4. 创建Future的实现类FutureTask对象,把MyCallable对象作为构造方法的参数

  5. 创建Thread类的对象,把FutureTask对象作为构造方法的参数

  6. 启动线程

  7. 再调用get方法,就可以获取线程结束之后的结果。

  • 三种实现方式的对比 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值