Si en una clase varios métodos se marcan como sincronizados, sólo se permitirá 1 thread accediendo a alguno de los métodos marcados en cada momento
public class … {
public synchronized ...
metodo1(...) { ... }
public synchronized ... metodo2(...)
{ ... }
}
Sólo 1 thread puede acceder en cada momento al método 1 o al método 2.
Técnicamente, cada método lo que hace es rodear su cuerpo de sentencias con una sincronización sobre el propio objeto:
public … metodo1(…)
synchronized(this) {
…
}
}
Ver “monitores”.
Temas relacionados
synchronized (palabra reservada)