为什么我按照视频里的代码设置了锁机制,还是能量不守恒

来源:4-3 Java线程交互之互斥与同步:守恒的能量

追梦赤子心RyanB

2022-03-22 13:32

synchronized (lockObject) {
    while (energy > energyBoxes[from]) {
        try {
            lockObject.wait();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    System.out.println(Thread.currentThread().getName());
    energyBoxes[from] -= energy;
    System.out.printf("从%d转移了%10.2f单位能量到%d%n", from, energy, to);
    energyBoxes[to] += energy;
    System.out.printf("能量总和为%10.2f%n", getTotalEnergies());
    lockObject.notifyAll();
}

http://img1.mukewang.com/6239602200019f2620141239.jpg

写回答 关注

0回答

还没有人回答问题,可以看看其他问题

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题