博客
关于我
了解一下CompletionService的submit(Runnable task, V result)方法
阅读量:223 次
发布时间:2019-02-28

本文共 1181 字,大约阅读时间需要 3 分钟。

CompletionService 的示例演示

以下是一个使用 CompletionService 的 Java 代码示例,展示了如何为 Runnable 任务设置默认值返回。

public class CompletionServiceDemo {    public static void main(String[] args)            throws ExecutionException, InterruptedException {        ExecutorService pool = Executors.newFixedThreadPool(3);        ExecutorCompletionService
completionService = new ExecutorCompletionService<>(pool); Future
future = completionService.submit( new Runnable() { @Override public void run() { try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } }, "我是默认值" ); System.out.println(future.get()); pool.shutdown(); }}

运行结果

运行上述代码,您会看到以下结果:

我是默认值

总结

从运行结果可以看出,CompletionService 的主要作用是为 Runnable 类型的任务设置一个默认值返回。这使得在 futures 不完成之前,或者 future 失败时,可以立即获取一个预定义的默认值。

这种方式在那些任务可能需要等待后续操作完成(例如异步操作或阻塞操作)而无法立即返回结果的情况下非常有用。通过设置默认值,可以避免程序在等待 future 完成时陷入卡顿状态。

此外,CompletionService 还提供了许多有用的功能,例如处理多个 futures 的异常情况,以及在 futures 完成时进行后续处理。

转载地址:http://ljjp.baihongyu.com/

你可能感兴趣的文章
PHP数组排序函数array_multisort()函数详解(二)
查看>>
php数组的几个函数和超全局变量
查看>>
PHP文件锁
查看>>
php文本框输入制定文本,php – 当用户没有向文本框输入任何内容时...
查看>>
PHP时间戳和日期相互转换操作总结
查看>>
php时间戳知识点,php 时间戳函数总结与示例
查看>>
PHP查找数组中最大值与最小值
查看>>
php查最大值,在PHP数组中查找最大值
查看>>
php标签筛选,关于PHP CodeIgniter框架中通过<a>标签和url做多条件分类筛选
查看>>
php根据年月日计算年龄
查看>>
RabbitMQ - 单机部署(超详细)
查看>>
php检查注册,PHP检查注册的电子邮件地址是一个’school.edu’地址
查看>>
php模拟发送GET和POST请求
查看>>
php模板引擎smarty
查看>>
php正则表达式的特殊字符含义
查看>>
PHP水仙花问题解法之一
查看>>
php没有解析是怎么回事,linux下php文件没有被剖析怎么办?_后端开发
查看>>
php注册页面实现注册后跳转页面
查看>>
PHP消息队列的实现方式与详解,值得一看
查看>>
PHP混合Go协程并发
查看>>