我的环境中有一个Vector
,我multithreaded
需要将它的前 5 个元素传递给threadpool
. 有没有最好的做法?(我的意思是使用 java util 类)
我可以在一个synchronized
块内执行此操作并循环遍历向量,直到找到前 5 个元素。我想知道这是正确的方法。
请给我建议。
更新部分 ------
请找到我需要解决的实际问题。
A类将有一个向量(根据优先级排序。这将以高频更新。我需要获取前5个元素)
B 类将具有
myOwnThreadPool
扩展java.util.ThreadPoolExecutor
并覆盖它的afterExecute
方法。(池大小为 5 )A 类将从向量中获取前 5 个元素并将其发送到 B 类池进行处理。
一旦
afterExecute
方法通知返回一个线程,我将从vector
(在 A 类 / 中具有最高优先级)中选择第一个最多的元素并将其发送到池中进行处理。
我想现在我的问题为大家提供了一个更好的主意。
谢谢大家的回答/指导,非常欢迎进一步的建议。