美文网首页
多线程FutureTask基本使用

多线程FutureTask基本使用

作者: 洋娃娃_2a03 | 来源:发表于2018-07-13 11:16 被阅读0次

1、为什么要使用FutureTask

Thread or Runnable 的方式,run()结束后没有返回结果,当run()结束后有返回结果的,使用future;

适用于耗时的计算任务,主线程可以完成自己的任务后,去获取线程的结果

并且,futureTask即便调用了多次,也只会执行一次run方法(任务只执行一次),(尤其在高并发的情况下,确保只执行一次)

2,使用基本方式

Callable callable = new Callable();//要执行的任务

FutureTask<返回类型> futureTask = new FutureTask(callable)//把任务托管给futureTask;

Thread thread = new Thread(futureTask);futureTask托管给thread,创建线程

thread.start();//启动线程

Object result = futuretask.get();//获取结果,可以设定超时时间

future.cancel(true);//执行过程中,可以cancel

3、FutureTask源码结构

相关文章

网友评论

      本文标题:多线程FutureTask基本使用

      本文链接:https://www.haomeiwen.com/subject/murjpftx.html