似乎很清楚,在读取文件时使用 readLock(例如),在写入文件时使用 writeLock 是合适的。但是,如果我有一个比较两个值的操作,例如:
if (i == j) {
System.out.println("equal);
}
那么是否可以使用 readLock() 而不是 writeLock 来锁定这段代码呢?当然,我没有写任何东西,但我正在比较两个值,这与仅仅读取数据有点不同,因为涉及到一个操作。请记住,“i”或“j”可能随时更改。理论上,如果 writeLock() 没有修改资源,readLock() 只会继续前进,但我可能无法完全理解这个问题的所有复杂性。似乎有一些灰色区域的潜力,所以我想我会得到一些意见。
谢谢大家,
马特