743

说明

1、FutureTask类不仅实现了Future接口还实现了Runnable接口,表示一种可生成结果的Runnable。

2、FutureTask类实现了Future接口的开启和取消任务、查询任务是否完成、获取计算结果方法。

要获取FutureTask任务的结果,我们只能通过调用getXXX()系列方法才能获取,当结果还没出来时候这些方法会被阻塞,同时这了任务可以是Callable类型(有返回结果),也可以是Runnable类型(无返回结果)。

实例

privatestaticvoidtestFutureTask()throwsExecutionException,InterruptedException{
System.out.println("--------------------testFutureTask--------------------");

//创建一个FutureTask(doOneThing任务)
FutureTask<String>futureTask=newFutureTask<>(FutureTaskDemo::doOneThing);
//使用线程池执行doOneThing任务
ForkJoinPool.commonPool().execute(futureTask);

//执行doOtherThing任务
StringdoOtherThingResult=doOtherThing();

//同步等待线程执行doOneThing任务结束
StringdoOneThingResult=futureTask.get();

//任务执行结果输出
System.out.println("doOneThingResult---->>>"+doOneThingResult);
System.out.println("doOtherThingResult---->>>"+doOtherThingResult);

以上就是java异常编程FutureTask的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。