1

ピークを許可する同時優先キューをシミュレートし、任意のインデックスから優れたパフォーマンスで削除するオープン ソース (または独自の) フレームワークがあるかどうか疑問に思っていました。

現在ConcurrentSkipList、JDK で利用できるものを使用していますが、基本的にはこれを複数の JVM で共有する必要があります。

最も難しい部分は、キューをポーリングするときに次のようなことをしていることです。

List<Entry> dequeued = new ArrayList<>(thisManyIwant);
for(Entry entry : queue){
    if(dequeued.size()>=thisManyIwant) break;
    if(predicate.apply(entry)){
        // Entry satisfies criteria
        if(queue.remove(entry){
            // OK, got it
            dequeued.add(entry);
        }else{
            // damn, somebody took it before I could :(
        }
    }else{
        // It's not something I want, move on to the next one.
    }
}
return dequeued;

一部の分散キャッシュではクエリを実行できますが、この操作はパフォーマンスが集中するため、キャッシュを大量にクエリすることが適切かどうかはわかりませんでした。

誰かそのようなことを聞​​いたことがありますか?

4

1 に答える 1

2

ヘーゼルキャストを見たことがありますか

私は Map 実装しか使用していないので、必要なパターンをサポートしているかどうかはわかりません。

于 2011-01-06T12:24:35.820 に答える