0

このAPIから直接:

公平に構成されている場合、スレッドは近似到着順ポリシーを使用してエントリを競います。現在保持されているロックが解放されると、最も長く待機している単一の書き込みスレッドに書き込みロックが割り当てられるか、待機中のすべての書き込みスレッドよりも長く待機している読み取りスレッドのグループがある場合は、そのグループに読み取りロックが割り当てられます。

単一の書き込みスレッドを読み取りスレッドのグループと比較します。API が指定するスレッドのグループではなく、待機中のスレッドが 1 つしかない場合はどうでしょうか。

前もって感謝します。

4

1 に答える 1

1

この場合の「グループ」は「1 つまたは複数」と読むことができると 95% 確信しています。このためのテストを書くのは簡単です。Java ソースをクラックして開き、それが何をしているかを確認することは、より困難ですが、可能です。

ここでの考え方は、同時に 1 人のライターまたは 1 人以上のリーダーにロックを与えることができるということです。次のライターの前に複数のリーダーが待機している場合、それらすべてが同時にロックを取得すると言いたいだけです。彼らはただ読んでいるだけなので、これは安全です。

于 2013-07-24T01:53:26.417 に答える