¿Cómo podemos usar AtomicInteger para una generación de secuencia limitada? Digamos que el número de secuencia debe estar entre 1 y 60. Una vez que la secuencia llega a 60 debe comenzar nuevamente desde 1. Escribí este código aunque no estoy seguro ¿Si esto es seguro o no?AtomicInteger para generación de secuencia limitada
public int getNextValue()
{
int v;
do
{
v = val.get();
if (v == 60)
{
val.set(1);
}
}
while (!val.compareAndSet(v , v + 1));
return v + 1;
}
+1. Es realmente útil – satish
Si encuentra una respuesta realmente útil, haga clic en la marca de verificación para aceptarla. – naiad
Qué aplicación más extraña. Básicamente dice "agrega 1 si aún no ha cambiado, de lo contrario sigue intentándolo". ¿No podría eso teóricamente dar como resultado un ciclo infinito? –