Кажется довольно ясным, что использование readLock при чтении из файла (например) и использование writeLock при записи в него целесообразно. Однако, если у меня есть операция, где сравниваются два значения, например:
if (i == j) {
System.out.println("equal);
}
Тогда можно ли использовать readLock () вместо writeLock для блокировки этого кода? Конечно, я ничего не пишу, но я сравниваю два
значения, которые немного отличаются от простого чтения данных, так как в них включена операция. Имейте в виду, что «я» или «J» может измениться в любое время. Теоретически readLock () будет двигаться вперед только в том случае, если writeLock () не изменяет ресурс, но я не могу полностью понять все сложности этой проблемы. Просто кажется, что есть вероятность появления серой области, поэтому я подумал, что получу некоторую информацию.
Спасибо всем,
Мэтт