广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java执行器如何在任务完成时获取任务的结果?_北大青鸟IT学校

作者:邓华发布时间:2021-05-12分类:Java技术浏览:705


导读:前面惠州北大青鸟老师给大家讲了Java执行器,那么Java执行器如何在任务完成时获取任务的结果被?下面我们一起来学习一下Java执行器中的结果承载任务知识,希望对大家学习有帮助。

前面惠州北大青鸟老师给大家讲了Java执行器,那么Java执行器如何在任务完成时获取任务的结果被?下面我们一起来学习一下Java执行器中的结果承载任务知识,希望对大家学习有帮助。

类型参数V是任务的结果的类型。

Callable接口有一个call()方法。它可以返回任何类型的值。

它允许你抛出异常。它声明如下:

public interface  Callable<V>  {
   V  call() throws   Exception;
}
import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;class CallableTask implements Callable<Integer> {  private int taskId;  public CallableTask(int taskId) {
   this.taskId = taskId;
 }  public Integer call() throws InterruptedException {    int total = taskId;    try {
     System.out.println("Task #" + this.taskId);
     Thread.sleep(1000);
   } catch (InterruptedException e) {
     System.out.println("Task #" + this.taskId
         + "  has  been  interupted.");      throw e;
   }
   total+=taskId;    return total;
 }
}public class Main {  public static void main(String[] args) throws Exception {    // Get an executor with three threads in its thread pool    ExecutorService exec = Executors.newFixedThreadPool(3);
   CallableTask task = new CallableTask(1);    // Submit the callable task to executor    Future<Integer> submittedTask = exec.submit(task);    Integer result = submittedTask.get();
   System.out.println("Task"s total  sleep time: " + result + "  seconds");
   exec.shutdown();
 }
}

上面的代码生成以下结果。

Task #1

Task's total sleep time:2 seconds

更多Java资讯关注网站动态,或者来惠州北大青鸟新方舟校区了解一下。

java6.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表