前言: IT培训网小编给大家举一个如何返回线程值的示例。简单描述示例的步骤: 我们已经实现了两个Java类,RetDouble它们
IT培训网小编给大家举一个如何返回线程值的示例。简单描述示例的步骤:
我们已经实现了两个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);
Future<Double> retdouble = service.submit(new RetDouble());
Future<Integer> retInt = service.submit(new RetInt());
System.out.println(retdouble.get());
System.out.println(retInt.get());
service.shutdown();
}
}
类 RetDouble 实现 Callable<Double> {
RetDouble() {
}
@覆盖
公共双调用(){
返回 2.0;
}
}
类 RetInt 实现 Callable<Integer> {
RetInt() {
}
@覆盖
公共整数调用(){
返回 1;
}
}
输出:
2.0
1
这是一个如何在 Java 中返回 Thread 值的示例。如果大家想了解更多相关知识,可以关注一下IT培训网的Java多线程编程,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助。
文章出自:http://qh.itpxw.cn/peixun/software/2022123684.html
文章标题:Java线程返回值示例
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...