class IntListe{ int inhalt; IntListe next; IntListe(int i, IntListe n){ inhalt = i; next = n;} } class PrimLager { static final int lagerMax = 5; int lagerBestand; IntListe lager; boolean istVoll(){ return lagerBestand >= lagerMax;} boolean istLeer(){ return lagerBestand == 0;} synchronized void einlagern(int n) { IntListe neu = new IntListe(n, lager); lager = neu; lagerBestand++; System.out.println(n + "\t eingelagert"); } synchronized int abholen() { if (istLeer()){ System.out.println("Fehler: Zugriff auf leeres Lager"); return 0; } int n = lager.inhalt; if (lager.next == null) lager = null; else lager.next = lager.next.next; lagerBestand--; System.out.println(n + "\t ausgeliefert"); return n; } }