博客
关于我
了解一下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/

你可能感兴趣的文章
one_day_one--mkdir
查看>>
OpenCV 中的图像转换
查看>>
opencv5-图像混合
查看>>
opencv9-膨胀和腐蚀
查看>>
OpenCV与AI深度学习 | YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)
查看>>
OpenCV与AI深度学习 | 使用Python和OpenCV实现火焰检测(附源码)
查看>>
OpenCV与AI深度学习 | 使用YOLO11实现区域内目标跟踪
查看>>
OpenCV与AI深度学习 | 基于PyTorch实现Faster RCNN目标检测
查看>>
OpenCV与AI深度学习 | 基于PyTorch语义分割实现洪水识别(数据集 + 源码)
查看>>
OpenCV与AI深度学习 | 基于机器视觉的磁瓦表面缺陷检测方案
查看>>
Opencv中KNN背景分割器
查看>>
OpenCV中基于已知相机方向的透视变形
查看>>
opencv保存图片路径包含中文乱码解决方案
查看>>
opencv图像分割2-GMM
查看>>
OpenCV:概念、历史、应用场景示例、核心模块、安装配置
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
查看>>
OpenMCU(一):STM32F407 FreeRTOS移植
查看>>
OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
查看>>