1

なぜこの機能がJavaで必要なのか、私は本当に混乱しています。ex: で公平性モードを使用できる実際の例をいくつか共有してくださいReentrantLock, ReadWriteLock, Semaphore

4

1 に答える 1

1

公平性は、順序をより適切に表現する必要がある場合に役立ちます。

フェアロックを使用した場合、ロギングキューにあり(いいえ、log4jなどを使用できませんでした)、並行性を持ちながら、到着した順序と同様の順序で出力をログに記録することができましたの。

並行キューを使用することもできましたが、他にも要因があり、スレッド レベルでロックする方が、スレッドが再び順番を取得する前に複数の値を追加できる可能性があるキューを使用するよりも優れていました。ややこしい……が、フェアロックを入れることで、代表順にアイテムを通すことができるようになった。

実際、公平なロックをスレッドの到着順キューとほぼ同じと考えると便利です。スレッドは、負荷を落として離れて、並行キューのように他のことを行うことはできません。ここでは、ワークロードではなく、スレッドをキューに入れます。

順序は保証されていませんが、ほとんどの場合、順序はそれと区別できませんでした。

于 2014-10-19T21:51:24.920 に答える