jedes Objekt kann als Semaphor verwendet werden, dem vorigen Programm entspricht:
Object lock = new Object ();
Gemeinsame Ressource r;
Prozeß Nr i {
non_critical_section
synchronized (lock) { ... }
}
Ist eine Methode synchronized deklariert,
dann ist this der Semaphor.