class ThreadSafeClass extends Thread
{
private static int count = 0;
public synchronized static void increment()
{
count++;
}
public synchronized void decrement()
{
count--;
}
}
¿Alguien puede explicar por qué la clase anterior no es segura para subprocesos?
synchronizeddebe usarse solo en métodos estáticos. Entonces, en mi opinión, incluso si elimina el incrementmétodo, todavía no es seguro para subprocesos ya que dos instancias (que solo tienen acceso sincronizado a través de la misma instancia) pueden llamar al método simultáneamente.
increment), sería seguro para subprocesos. O si usó algún objeto de bloqueo. Como dije, no sé sobre Java; mi comentario proviene del conocimiento de C #.