返回
长春中软卓越
置顶
招生热线:400-656-1390

学校地址:长春市高新区修正外包大厦6楼

Java线程返回值示例

3 2022-07-01 09:00:51

学习笔记

  实现了两个Java类,RetDouble它们RetInt都实现了Callable,个使用作为参数 a Double,第二个使用作为参数 an Integer。它们都覆盖了call()Callable 的方法,个返回一个Double值,而第二个返回一个Integer.

  我们使用Executors 的API方法创建一个ExecutorService。该方法返回一个线程池,该线程池重用在共享无界队列上运行的固定数量的线程。newFixedThreadPool(int nThreads)

  ExecutorService对两个 Callables 使用其 API 方法,以便提交一个返回值的任务以供执行,并返回两个代表任务未决结果的 Future对象。submit(Callable task)

  为了获取 Future 对象的值,我们可以使用它们的get()API 方法,在必要时等待计算完成,然后检索结果。

  最后 ExecutorService 使用其shutdown()API 方法启动有序关闭,其中执行之前提交的任务,但不会接受新任务。

  让我们看一下下面的代码片段:

  包 com.javacodegeeks.snippets.core;

  导入 java.util.concurrent.Callable;

  导入 java.util.concurrent.ExecutorService;

  导入 java.util.concurrent.Executors;

  导入 java.util.concurrent.Future;

  公共类 RetVal {

  公共静态 void main(String args[]) 抛出异常 {

  ExecutorService 服务 = Executors.newFixedThreadPool(3);

  Futureretdouble = service.submit(new RetDouble());

  FutureretInt = service.submit(new RetInt());

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

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

  service.shutdown();

  }

  }

  类 RetDouble 实现 Callable{

  RetDouble() {

  }

  @覆盖

  公共双调用(){

  返回 2.0;

  }

  }

  类 RetInt 实现 Callable{

  RetInt() {

  }

  @覆盖

  公共整数调用(){

  返回 1;

  }

  }

  输出:

  2.0

  1

  这是一个如何在 Java 中返回 Thread 值的示例。


文中图片素材来源网络,如有侵权请联系删除
来源:长春中软卓越

免费提供问答解答,帮您轻松解决难题

热门课程 全部课程

热门动态

申请免费试听

只要一个电话

我们为您免费回电

立即申请