たとえば、ファイルから読み取るときにreadLockを使用し、ファイルに書き込むときにwriteLockを使用することが適切であることは明らかです。ただし、次のような2つの値が比較されている操作がある場合:
if (i == j) {
System.out.println("equal);
}
次に、writeLockの代わりにreadLock()を使用してこのコードをロックしても大丈夫ですか?確かに、私は何も書いていませんが、2つの値を比較しています。これは、操作が含まれるため、データを読み取るだけとは少し異なります。「i」または「j」はいつでも変更される可能性があることに注意してください。理論的には、readLock()は、writeLock()がリソースを変更していない場合にのみ前進しますが、この問題のすべての複雑さを完全には理解していない可能性があります。少し灰色の領域の可能性があるように思われるので、私はいくつかの入力を得るだろうと思いました。
みんなありがとう、
マット