ExecutorCompletionService

ExecutorCompletionService是能够将多个任务并行同时处理,并将相应结果保存到队列里的并发类

	public void TestExecutorCompletionService() throws Exception {
		Executor defaultExecutor = Executors.newFixedThreadPool(10);
		BlockingQueue queuePool = new BlockingQueuePool(8).getBlockingQueue();
		;
		ExecutorCompletionService ecs = new ExecutorCompletionService(
				defaultExecutor, queuePool);
		List<Future> futures = new ArrayList<Future>();
		futures.add(ecs.submit(new SyncCheckTask("1111")));
		futures.add(ecs.submit(new SyncCheckTask("2222")));
		futures.add(ecs.submit(new SyncCheckTask("3333")));
		futures.add(ecs.submit(new SyncCheckTask("4444")));
		futures.add(ecs.submit(new SyncCheckTask("5555")));
		futures.add(ecs.submit(new SyncCheckTask("6666")));
		int i = 0;
		while (i < 8) {
			Future futrure = ecs.poll(3000, TimeUnit.MILLISECONDS);
			Object result = null == futrure ? null : futrure.get();
			System.out.println(result);
			i++;
		}
	}
	}
class SyncCheckTask implements Callable<String> {
	String ss = null;
	public SyncCheckTask(String ss) {
		this.ss = ss;
	}
	public String call() throws Exception {
		Thread.sleep(Integer.parseInt(ss));
		return ss;
	}
 
qtcreator使用远程服务器编译代码 我并没有找到很好的windows上可以用的rsync工具,最后是装了wsl来调用rsync同步到代码后,在用ssh调用linux命令来编译的。安装wsl安装ubuntu启动wsl然后把windows里的ssh文件证书和配置复制到wsl里同时config的key目录需要改一下,这样就可以登录服务器了然后在home目录创建build.sh进行远程编译。 阅读详情

相关推荐

如何用YOLOv5改进无人机小目标检测?MFFSODNet实战教程(附代码)

本文详细介绍了如何利用YOLOv5框架结合MFFSODNet网络结构优化无人机航拍图像中的小目标检测。通过引入微小目标预测头、多尺度特征提取模块(MSFEM)和双向密集特征金字塔网络(BDFPN)等核心技术,显著提升了小目标检测精度。文章提供了完整的代码实现方案,并展示了在农业监测、电力巡检等实际场景中的应用效果。

sre5engineer的博客 738

多线程之ExecutorCompletionService使用

在工作中在使用多线程进行并行处理一些事情的时候,我们希望能够依次获取先执行结束的任务结果,我们就需要使用到ExecutorCompletionService类进行处理;当然我们还是看下正常我们在处理多线程并行执行任务的Demo; Demo1: public class ExecutorCompletionServiceDemo { public static void main(String[] args) { //这里只是为了方便,真正项目中不要这样创建线程池

一路的博客 7471

新建菜单Office被替换为腾讯文档 - 解决方案

右键新建菜单中的Office被替换为腾讯文档。原因是安装了腾讯文档软件,此软件安装时会自动将新建菜单中的Office替换为腾讯文档,下文介绍解决方案。

NSJim的博客 2928

ExecutorCompletionService详解

ExecutorCompletionService 是Java并发编程中的一个有用的工具类,它实现了 CompletionService 接口。ExecutorCompletionService 将 Executor 和BlockingQueue 功能融合在一起

BookSea的博客 1792

esxi8.0.3如何添加USB外置硬盘

本文介绍了在ESXi系统中配置外置USB硬盘作为数据存储的完整步骤:1)通过SSH禁用USB仲裁服务并关闭自启;2)识别已连接的USB硬盘设备路径;3)使用partedUtil创建GPT分区表并计算扇区范围;4)设置VMFS6分区并格式化。关键命令包括停止usbarbitrator服务、partedUtil分区操作以及vmkfstools格式化命令。整个过程需通过SSH执行,最终将USB硬盘配置为名为"USB_Datastore"的VMFS6存储设备。

qq_41683719的博客 1544

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO 在之前的工作中有接触过LOAM,最近在工作中又接触到Faster LIO相关的工作,于是想着对Fast LIO / Fast LIO2 / Faster LIO这一系列工作进行一个简单的总结,以加深自己对激光SLAM算法的理解,之前总结过的一些和激光SLAM算法相关的博客还有,感兴趣的同学可以一起学习讨论: 激光SLAM总结——VLOAM / LIMO算法解析 激光SLAM总结——LIO-Mapping / LIOM /

weixin_44580210的博客 1万+

ExecutorCompletionService使用详解

ExecutorCompletionService使用详解 前言 ExecutorCompletionService 为什么需要使用这个类? jdk8提供的 CompletionService 接口,实现类 ExecutorCompletionService。 我们先来看一个例子? 很明显下面任务批量提交线程池,等待线程池运行,每个任务执行时间不同。 //此线程池线程递增 ExecutorService executorService = Executors.newCache

. 4925

【硬件开发】振铃

如果是开关管的振铃,那么桥臂的SW处产生的振铃会窜入驱动电路,造成的结果就是驱动电路和上桥臂下桥臂之间的SW节点都会有振铃现象。如果是驱动电路的振铃,那么MCU的输出引脚还是正常的PWM,但是到了MOS管两侧就变成带有振铃的PWM波形了。开关振铃产生的原因是MOS管上面的寄生电感当开关管打开时为了保持电流不变感应出的电压会对电源和地产生冲击。开关管的驱动线上的寄生电容和寄生电感导致的振铃为驱动电路振铃。开关管上的寄生电容和寄生电感导致的振铃为开关节点振铃。、电感等元件的存在,导致电路中的电压和。

weixin_62546664的博客 1825

CompletionService和ExecutorCompletionService详解

1.CompletionService接口定义了一组任务管理接口: submit() - 提交任务 take() - 获取任务结果 poll() - 获取任务结果 ExecutorCompletionService类是CompletionService接口的实现 ExecutorCompletionService内部管理者一个已完成任务的阻塞队列 ExecutorCompletionSer...

王仁一的博客 9110

PCIE的MSI中断处理机制与优化策略

PCIe设备的。

xiaoheshang_123的博客 516

1.2、基于卷积神经网络(CNN)的车牌自动识别系统(matlab)

基于卷积神经网络(CNN)的车牌自动识别系统(matlab)

XU157303764的博客 2911

高并发编程-ExecutorCompletionService深入解析

要点解说假设现在有一大批需要进行计算的任务,为了提高整批任务的执行效率,你可能会使用线程池,向线程池中不断submit异步计算任务,同时你需要保留与每个任务关联的Futu...

JavaQ 4664

duilib入门基础一 容器之 BOX、VBOX、HBOX布局及其子控件align排列方式

序 容器 duilib有以下主要布局容器 Box(自由布局容器) VBox(垂直布局容器) HBox(水平布局容器) TabBox(多标签布局容器) TileBox(格子布局容器) ChildBox(子布局容器) ScrollableBox(可滚动容器) 一、Box容器布局 Box容器及其扩展VBox HBox是其中最常用的容器。 相对Box来说,HBox, VBox更好理解些 1.1 VBox HBox VBox下的各个控件垂...

目前打算换一个工作,有招聘windows c++方向的也欢迎联系,北京、济南 最好 3082

初探高并发—ExecutorCompletionService

初探高并发—ExecutorCompletionService

一名编程小白的Java学习日志 952

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ExecutorCompletionService 的几点认识

ExecutorCompletionService  通常与 ThreadPoolExecutor一起使用

乔木人 的 技术专栏 1540

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java多线程之ExecutorCompletionService

当我们向Executor提交一组任务,并且希望任务在完成后获得结果,此时可以考虑使用。实现了接口。将Executor和功能融合在一起,使用它可以提交我们的Callable任务。这个任务委托给Executor执行,可以使用对象的take和poll方法获取结果。的设计目的在于提供一个可获取线程池执行结果的功能,这个类采用了装饰器模式,需要用户提供一个自定义的线程池,在内部持有该线程池进行线程执行,在原有的线程池功能基础上装饰额外的功能。相比之前Future。

上善若泪 2309

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java ExecutorCompletionService类

一、为什么使用ExecutorCompletionService        假设现在有一大批需要进行计算的任务,为了提高整批任务的执行效率,你可能会使用线程池,向线程池中不断submit异步计算任务,同时你需要保留与每个任务关联的Future,最后遍历这些Future,通过调用Future接口实现类的get方法获取整批计算...

书香水墨 632

ExecutorCompletionService 的使用

Future 有一个问题就是,他的get 方法是把全部数据处理完再拿出来的。 ExecutorCompletionService 可以做到拿一条输出一条 public static void main(String[] args) throws InterruptedException, ExecutionException { ExecutorService executo...

renguiriyue的博客 392

ExecutorCompletionService原理详解

在JDK并发包中有这么一个类ExecutorCompletionService,提交任务后,可以按任务返回结果的先后顺序来获取各任务执行后的结果。

ado1986的专栏 2634

高并发-ExecutorCompletionService

ExecutorCompletionService详解

weixin_43119856的博客 450

ExecutorCompletionService的使用

一、背景 项目中我们经常会处理这样一种业务场景。启动多个线程去计算一段业务逻辑,等待所有线程全部执行完毕之后再向下做业务逻辑处理。在java中为我们提供了ExecutorCompletionService可以轻松的实现这样的业务场景。当然,还有其他中办法可以实现,比如使用CountDownLatch也可以达到同样的目的。 二、代码实战 先说一下代码具体实现的思路。 定义一个类MyE

gxsenjoy的博客 701

ExecutorCompletionService使用

使用ExecutorCompletionService获取线程执行结果

qq_40774600的博客 373

java多线程并发之旅-28-Executor CompletionService ExecutorCompletionService 详解

CompletionService 接口 定义了一系列的方法的接口。 public interface CompletionService<V> { Future<V> submit(Callable<V> task); Future<V> submit(Runnable task, V result); Fut...

1万+

ExecutorCompletionService处理并行业务

ExecutorCompletionService处理并行业务,一种简单的顺序获取结果方案

成名宁杰的博客 410
上一篇: 数据库转储
下一篇: 好用的软件
NetFishTail
博客等级 码龄19年 3粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值