import java.util.ArrayList; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; //Standard regle for laaser: // Lock laas = new ReentrantLock(); // laas.lock(); // try{ // KODE // } // finally{ // laas.unlock(); // } //Monitor //Kritisk omraade!!! class NavnRegister{ private Lock laas = new ReentrantLock(); private ArrayList navnListe = new ArrayList(); public void settInn(String n){ laas.lock(); try{ navnListe.add(n); } finally{ laas.unlock(); } } public String taUt(int p){ laas.lock(); try{ return navnListe.remove(p); } finally{ laas.unlock(); } } public String hent(int p){ laas.lock(); try{ return navnListe.get(p); } finally{ laas.unlock(); } } }