Race entre System.out y System.err en java [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Java: System.out.println y System.err.println fuera de servicio 6 respuestas

Considere este código 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");
        }

    }
}

Echando un vistazo rápido al código, algunos de nosotros podemos pensarla salida debe ser la impresión de As y Bs alternativamente. Sin embargo no lo es! Es una aparición aleatoria de 10 personajes A y 10 B. Algo como esto

¿Porqué es eso? y cuál es la solución para que el As y el B se muestren alternativamente (A B A B A B ...) ¡Antes de hacer esta pregunta, verifiqué otras preguntas similares para la solución y no funcionó para mi caso! He traído algunos de ellos aquí:

Synchronization y System.out.printlnJava: sincronización de salida estándar y error estándarJava: System.out.println y System.err.println fuera de servicio PD Estoy usando Eclipse como mi IDE

Respuestas a la pregunta(3)

Su respuesta a la pregunta