Fora da segurança aérea fina

Concorrência Java na Prática explica este conceito:

Quando um thread lê uma variável sem sincronização, pode ver um valor obsoleto, mas pelo menos vê um valor que foi realmente colocado lá por algum thread em vez de algum valor aleatório. Essa garantia de segurança é chamada de segurança fora do ar.

Esse tipo de segurança é fraco, pois pode incluir um valor obsoleto?

Talvez esse trecho,at least it sees a value that was actually placed there by some thread than some random value, foi mencionado porque o tópico anterior do livro era a possibilidade da JVM reordenar instruções variáveis em referência asharing variables without synchronization?

Exemplo: Dependendo da nova encomenda: 42 ou 0 podem ser impressos.

public class NoVisibility {
    private static boolean ready;
    private static int number;

    private static class ReaderThread extends Thread {
        public void run() {
            while(!ready)  
                Thread.yield();
            System.out.println(number);
            }
        }

    public static void main(String[] args) {
        new ReaderThread().start();
        number = 42;
        ready = true;
    }
}

EDITADO - removido comentário "por favor, comente".

questionAnswers(2)

yourAnswerToTheQuestion