Wyścig między System.out i System.err w java [duplikat]

To pytanie ma już odpowiedź tutaj:

Java: System.out.println i System.err.println poza kolejnością 6 odpowiedzi

Rozważ ten kod Java:

public class CMain {
    public static void main(String[] args){

        for (int i = 0; i < 10; i++) {
            System.out.println("A");
            System.err.println("B");
        }

    }
}

Patrząc na kod, niektórzy z nas mogą pomyśleć wyjściem musi być wydrukowanie alternatywnie As i Bs. Jednak nie jest! Jest to losowy wygląd 10 znaków A i 10 znaków B. Coś takiego

Dlaczego? i jakie jest rozwiązanie tego problemu, aby As i Bs były wyświetlane naprzemiennie (A B A B A B ...) Zanim zadam to pytanie, sprawdziłem kilka innych podobnych pytań pod kątem rozwiązania i nie zadziałało w mojej sprawie! Przywiozłem niektóre z nich tutaj:

Synchronization and System.out.printlnJava: synchronizacja standardowego wyjścia i standardowego błęduJava: System.out.println i System.err.println poza kolejnością PS. Używam Eclipse jako mojego IDE

questionAnswers(3)

yourAnswerToTheQuestion