Tengo una clase que mantiene el control de un juego multijugador:
class ColaTareas {
List<Tarea> lista = new ArrayList<>();
public agregarTarea(Tarea tarea) {
lista.add(tarea) ;
}
public Tarea quitarTarea() {
return lista.remove(0) ;
}
}
Varios hilos pueden acceder a esa instancia concurrentemente por lo que es necesario garantizar coherencia durante su vida.
¿Cómo puedo hacerlo?