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 respuestaOk, 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.