synchronized
La keyword synchronized è legata, generalmente, al multithreading del linguaggio Java. Essa indica alla Java Virtual Machine di proteggere un blocco di codice da eventuali accessi simultanei in modo che soltanto un thread ha la possibilità di eseguire quel blocco di codice e gli altri thread devono aspettare. La keyword può essere utilizzata per controllare l'accesso ad un blocco di codice, una variabile, un metodo o un'intera classe.

Vedere anche: volatile
Esempio: 
public synchronized void add() { 
    i++; 
} 
Esempio2: 
synchronized (i) { 
    j = i; 
}