【发布时间】:2010-06-19 03:34:02
【问题描述】:
我应该使用 Java 以多线程模式处理图像。我可能有不同数量的图像,因为我的线程数是固定的。我必须使用固定的线程集处理所有图像。
我只是不知道该怎么做,我看了一下 ThreadExecutor 和 BlockingQueues 等......我仍然不清楚。我正在做的是, - 获取图像并将它们添加到具有图像处理器可运行代码的 LinkedBlockingQueue 中。 - 创建一个线程池执行器,其中一个争论是之前的 LinkedBlockingQueue。 - 遍历 for 循环直到队列大小并执行 threadpoolexecutor.execute(linkedblockingqueue.poll)。 - 我所看到的是它只处理 100 个图像,这是在 LinkedBlockingQueue 大小中传递的最小线程大小。
我发现我在某处的理解严重错误,我如何处理 100 个(线程)中的所有图像,直到它们全部完成?任何示例或伪代码都会非常有帮助
谢谢! J
【问题讨论】:
-
我用一些示例代码更新了我的帖子。它并不完美,只是快速尝试一下。它完全独立运行。
标签: java image-processing concurrency