2つのスレッドの優先度が同じ場合は、優先度と先入れ先出し(FCFS)でスレッドをスケジュールする方法を探しています。キューのヒープなどを使用することを考えていました。問題は、自分で優先度付きキューを実装したとしても、優先度を変更できると、このキューへの挿入順序が台無しになることです。
この問題を解決するために、各スレッドの挿入時間を節約し、優先度キューを挿入時間(プライマリ優先度パラメーターのセカンダリパラメーターとして)で並べ替えることができますが、解決できるデータ構造の組み合わせがあると思います挿入時間を使用せずに問題。
複雑さはあるべきです(通常のキューを持ち、スレッドをポップする必要があるときはいつでもキューを繰り返すなど、複雑さをO(logN)
伴う単純なソリューションがいくつかあります)。O(N)