使用CompletionService,更可能是ExecutorCompletionService.

class Matcher {

ExecutorService threadPool = Executors.newCachedThreadPool();

private List subimages; // populate it yourself

public static Point match(BufferedImage subimage, BufferedImage image) {

// Your implementation

}

public List match(BufferedImage image) {

CompletionService completionService = new ExecutorCompletionService(threadPool);

int size = subimages.size();

List results = new ArrayList<>(size);

for (BufferedImage subimage: subimages) {

completionService.submit(()->match(subimage, image));

}

for (int i = 0; i < size; i++) {

Point point = completionService.take().get();

if (point != null) {

results.add(point);

}

}

return results;

}

}

如果要使用所有CPU,可能需要将ExecutorService更改为Executors.newWorkStealingPool().不过要小心!

java8 并行执行方法_如何在Java8中执行此并行任务相关推荐

  1. java对密码进行加密的方法_如何在JAVA中使用MD5加密对密码进行加密

    如何在JAVA中使用MD5加密对密码进行加密 发布时间:2020-11-25 17:12:40 来源:亿速云 阅读:118 作者:Leah 本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行 ...

  2. phpmyadmin执行mysql语句_如何在phpMyAdmin中执行sql语句

    大家使用phpMyAdmin中常遇到这样的问题:MySQL Error Message: MySQL Query Error SQL: SELECT main.*, field.* FROM ucho ...

  3. jmeter测试客户端_如何在JMeter中执行客户端Web性能测试?

    jmeter测试客户端 在本文中,我们将看到如何使用Jmeter插件进行客户端性能测试. 我将使用jmeter webdriver插件. 在开始本主题之前,请阅读我以前的文章中有关客户端性能测试的一些 ...

  4. excelexportentity中设置null不显示的方法_如何在 Creator3D 中切换模型贴图,超级简单!...

    效果预览 前两天有伙伴在 QQ 上询问,如何在 Creator 3D 中切换模型贴图.Shawn 之前也没尝试过,不过根据之前 Cocos Creator 的经验以及这几天对 Creator 3D 的 ...

  5. java curl 使用方法_如何在Java中使用这个cURL POST请求?(Spotify API)

    我需要帮助在Java中发出cURL POST请求(到spotifyapi).我把我的解决办法解释得太离谱了 this article . 基于此,我尝试了以下方法: String command = ...

  6. python列出所有方法_如何在python中列出所有Faker方法

    如何以编程方式列出Faker生成器对象中的所有可用方法? Faker文档显示了如何创建faker生成器并生成数据: from faker import Faker fake = Faker() fak ...

  7. java中while使用方法_如何在Java中使用“ while循环”?

    一而在Java编程语言的循环语句重复执行一个目标语句,只要给定的条件为真. 语法 while循环的语法是-while(Boolean_expression) { //声明 } 这里,语句(多个)可以是 ...

  8. java多边形晕线的方法_如何在OpenCV中绘制一组封闭的多边形曲线,将每个线段表示为不同的颜色(即在彩虹色空间中)?...

    我正在学习使用cv2.approxPolyDP函数将OpenCV轮廓分割成更简单更相关的曲线 . 我想为自己说明这一点,以便更好地了解正在发生的事情 . 我越来越近了,cv2.approxPolyDP ...

  9. python执行的命令_如何在Python中执行外部命令

    Python子进程模块允许生成新进程,从Python脚本执行外部命令. 您可以使用这些教程来安装最新版本的Python. 此外,还有许多可用于Python IDE. 就像在Ubuntu系统上安装PyC ...

最新文章

  1. iBatis简单入门教程
  2. 数据结构与算法——并查集(不相交集合)
  3. python自动化开发是什么_Python自动化开发学习6
  4. Linux——进程管理
  5. STM32 ADC转换实验
  6. 加入域--深入理解DNS在域中作用
  7. html - meta name=viewport content=XX/ 标签常见属性及说明
  8. arduino智能浇花系统_arduino+水泵+继电器+RFID
  9. 用MySQL写怎么删除字母_mysql如何替换掉字母
  10. python写数据库校验_Python:生成验证码并插入到数据库!
  11. 微软拆分 VS Code 中 Python 扩展,部分功能可独立下载
  12. Hibernate(2012/2/27)
  13. jmeter 登录用户并发压力测试案例_用jmeter进行多用户并发压力测试 [转]
  14. win10卸载office2010的方法
  15. 【软件体系结构】软件体系结构笔记
  16. 自己写了个磁力链搜索引擎
  17. 微信小程序 开发工具 项目创建步骤
  18. fastjson基本使用
  19. 关于显示器,神马ips、pls、tn的
  20. 6开机白苹果一闪一灭_苹果6s开机一直显示白苹果,过会就直接黑屏,重复一直这样...

热门文章

  1. 械模拟计算器 - 计算尺
  2. 关于日期比较compareTo
  3. 物联网平台 源码_国内首个智慧交通物联网平台发布
  4. java openldap_java操作OpenLdap示例
  5. php try 并回滚,ThinkPHP异常处理、事务处理(事务回滚)
  6. php访问获取全部网站状态码,php打开其他网站获取状态码
  7. linux顺序合并多个文件,linux – 合并多个文件,保留unix中的原始序列
  8. redis日志_「漫画」谈谈Redis持久化
  9. 某大学2021秋季学期Java期末考试范围概述
  10. Pycharm回退操作+常用批量操作