Гонка между System.out и System.err в Java [дубликат]

На этот вопрос уже есть ответ:

Java: System.out.println и System.err.println вышли из строя 6 ответов

Пожалуйста, рассмотрите этот код 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");
        }

    }
}

Беглый взгляд на код, некоторые из нас могут подумать выходные данные должны быть отпечатками As и Bs в качестве альтернативы. Однако нет! Это случайное появление 10 символов A и 10 символов B. Что-то вроде этого

Почему это? и каково его решение, так что As и Bs отображаются поочередно (A B A B A B ...) Прежде чем задать этот вопрос, я проверил несколько других подобных вопросов для решения и не работал для моего случая! Я привел некоторые из них здесь:

Синхронизация и System.out.printlnJava: синхронизация стандартного выхода и стандартной ошибкиJava: System.out.println и System.err.println вышли из строя PS. Я использую Eclipse в качестве своей IDE

Ответы на вопрос(3)

Ваш ответ на вопрос