随着接下来的课程,
// This class should be thread-safe!!!
class BankAccount {
private long balance; // Should it be volatile?
synchronized void deposit(long amount) {
// ...
balance += amount;
}
synchronized void withdraw(long amount) {
// ...
balance -= amount;
}
}
我应该添加volatile
to balance
field?
不,与synchronized
关键词,volatile
重量轻。
volatile
可以保证读者话题始终保持新鲜感balance
值,但不能使balance += amount;
原子。synchronized
可以两者兼得。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)