长沙java培训
达内长沙芙蓉路中心

18487146383

热门课程

详解:Callable& Future

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

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培训教你阅读GC日志

spring注入配置文件属性到java类

Java中Vector和ArrayList的区别

达内长沙Java培训详解volatile关键字

选择城市和中心
贵州省

广西省

海南省