课程咨询 :18487146383

  • 详解:Callable& Future

    发布:长沙Java培训      来源:CSDN博客      时间:2016-09-02

  • Callable& Future如何区分你知道吗?来跟着达内长沙java培训的老师一起学习吧。

    Callable一般是和ExecutorService配合来使用的,Future就是对于具体的Runnable或者Callable任务的执行结果进行取消、查询是否完成、获取结果。必要时可以通过get方法获取执行结果,该方法会阻塞直到任务返回结果。

    也就是说Future提供了三种功能:

    1)判断任务是否完成;

    2)能够中断任务;

    3)能够获取任务执行结果。

    import java.util.Random;

    import java.util.concurrent.Callable;

    import java.util.concurrent.ExecutionException;

    import java.util.concurrent.FutureTask;

    public class CallableAndFuture {

    public static void main(String[] args) {

    Callablecallable = new Callable() {

    @Override

    public Integer call() throws Exception {

    return new Random().nextInt(50);

    }

    };

    FutureTask f = new FutureTask(callable);

    new Thread(f).start();

    try {

    Thread.sleep(1000);

    System.out.println(f.get());

    } catch (InterruptedException e) {

    e.printStackTrace();

    }catch (ExecutionException e) {

    e.printStackTrace();

    }

    }

    }

上一篇:如何写一个死锁程序

下一篇:锁降级要这么写

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:6月30日

Java--零基础业余班

Java--零基础业余班

开班日期:6月30日

Java--大数据全日制班

Java--大数据全日制班

开班日期:6月30日

Java--大数据业余制班

Java--大数据业余制班

开班日期:6月30日

  • 网址:http://cs.java.tedu.cn     地址:长沙市开福区芙蓉中路一段 476 号建鸿达现代城 9 楼
  • 课程培训电话:18487146383     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56