慕斯卡3197864
2018-05-24 14:09
private final double[] energyBoxes; private final Object lockObj = new Object();
如上,为什么要用final修饰?
final修饰的数组只是说你的数组不能再指向其他数组对象, 但它指向的数组的内容是可以变的!
而final修饰的锁对象为了保证多线程进行过程中的安全
final可以理解为常量,不希望程序继续对变量进行修改了。这里energyBox用于判断能量守恒,lockObj作为锁的标记,都应该保持原来的状态,所以用final
深入浅出Java多线程
186088 学习 · 464 问题
相似问题