El valor no se actualiza en el bucle while a menos que se imprima [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Loop no ve el valor cambiado por otro hilo sin una declaración de impresión 1 respuesta

Ok, entonces tengo un hilo de monitoreo que verifica un tamaño de ArrayList y hace algo después de que ese tamaño sea mayor que un cierto número. El problema que tengo ahora es que el valor del tamaño nunca se actualiza a menos que tenga una declaración de impresión en mi bucle. Aquí hay un código para mostrar exactamente lo que tengo que hacer.

while(working) {
    // Get size function just returns the size of my list in my t class
    int size = t.getSize();
    if (size >= 10) {
        //DO STUFF
    }
}

Este código de arriba no funciona. Nunca entra en la sentencia if. Sin embargo, esto funciona bien:

while(working) {
    // Get size function just returns the size of my list in my t class
    int size = t.getSize();
    System.out.println(size);
    if (size >= 10) {
        //DO STUFF
    }
}

EDITAR: código getSize ():

public ArrayList<byte[]> myQueue = new ArrayList<byte[]>();

public int getSize() {
    return myQueue.size();      
}

NOTA: Tengo otro hilo en ejecución que se está actualizando y agregando a mi lista en mi clase t.

¿Alguna ayuda? esto es realmente molesto tener que escupir números cuando estoy tratando de depurar en la consola.

Respuestas a la pregunta(4)

Su respuesta a la pregunta