多线程之Thread、Runnable、Callable、Future、FutureTask

本文介绍了Java多线程中的关键概念,包括Thread、Runnable、Callable、Future和FutureTask。Thread具备线程操作如wait、sleep等,而Runnable和Callable是线程实现接口,后者支持返回值。Future提供了对任务执行结果的管理,FutureTask则结合了Runnable和Future,允许获取执行结果并支持通过Thread或ExecutorService启动。
摘要由CSDN通过智能技术生成

 

一、知识基础:

1.Thread、Runnable、Callable:都是线程

2.Thread特点:提供了线程等待(wait)、线程睡眠(sleep)、线程礼让(yield)等操作。

3.Runnable和Callable特点:都是接口,并提供对应的实现方法。

4.Runnable和Callable的区别:Runnable无返回值,Callable有返回值。

5.Future:提供了对Runnable和Callable任务的执行结果进行取消、查询是否完成、获取结果、设置结果等操作。

6.FutureTask:Runnable和Future的结合体,即拥有Future的特性。

 

二、Thread和Runnable的关系

线程使用有两种最常用的写法:

new Thread(new Runnable(){
  @Override
  public void run(){
    //子线程操作
  }
}).start();
new Thread(){
  @Override
  public void run(){
    //子线程操作
  }
}.start();

三、从源码分析:

class Thread implements Runnable {

private Runnable target;

//构造函数
public Thread(ThreadGroup
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值