0

以下のtryブロックでは、3 つのステートメントをこの順序で実行する必要があります。ステートメントが順不同で実行される可能性はありますか? JVM は juc クラスを先読みして、同期インジケーター (同期済み、揮発性) を確認し、実行を並べ替えてはならないことを判断しますか?

private Deque<Integer> deque = new LinkedList<Integer>();
private Lock lock = new ReentrantLock();
private Condition condition = lock.newCondition();
class Producer implements Runnable {
    @Override
    public void run() {
        while (true) {
            try {
                lock.lock();
                deque.add(1);
                condition.signalAll();
            } finally {
                lock.unlock();
            }
        }
    }
}
4

2 に答える 2