ala*_*ska 5 java final synchronize
考虑下面的代码,我想让它成为一个线程安全类,以便它永远不会得到奇数:
class Test {
private int value = 0;
private final Object lock;
public void add() {
synchronized (lock) {
value++;
value++;
}
}
public int getValue() {
synchronized (lock) {
return value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我现在怀疑锁定领域,这被宣布为最终的,这有关系吗?或者它会打破线程的安全吗?
我认为如果锁定字段没有被声明为final,那么这应该是一个线程安全的类.如果这个结论有误,请指正,谢谢.
| 归档时间: |
|
| 查看次数: |
252 次 |
| 最近记录: |