私はVector
自分の環境にを持っています、multithreaded
そして私はその最初の5つの要素をに渡す必要がありますthreadpool
。これに関するベストプラクティスはありますか?(私はjava utilクラスを使用することを意味します)
ブロック内でそれを実行しsynchronized
、最初の5つの要素が見つかるまでベクトルをループできます。私はそれを行う正しい方法だと思っています。
アドバイスしてください。
更新されたセクション------
私が解決する必要がある私の実際の問題を見つけてください。
クラスAにはベクトルがあります(優先度に従って並べ替えられます。これは高頻度で更新されます。最初の5つの要素を取得する必要があります)
クラスBには、
myOwnThreadPool
を拡張し、そのメソッドjava.util.ThreadPoolExecutor
をオーバーライドするがありますafterExecute
。(プールサイズは5になります)クラスAは、ベクトルから最初の5つの要素を取得し、それをクラスBプールに送信して処理します。
1
afterExecute
つのスレッドが返されることをメソッドが通知すると、vector
(クラスA /で最も優先度の高い)から最初に最も多くの要素を選択し、それをプールに送信して処理します。
今、私の質問は皆さんにとってより良いアイデアを与えると思います。
回答/ガイダンスをありがとうございました。さらなる提案を歓迎します。