
\begin{slide}{Eine Gabel (genauer)}

\begin{verbatim}
class Fork {
  boolean taken;
  synchronized void drop (Philo p) {
    taken = false;
    notify ();
  }
  synchronized void take (Philo p) {
    while (taken) {
        wait ();
    }
    taken = true;
  }
}
\end{verbatim}
\end{slide}

\begin{slide}{Eine Gabel (wait/notify)}

Durch \verb|wait()| wird der aufrufende Thread angehalten
(er wartet auf das Objekt (die Gabel)).

Jedes Objekt hat eine Warteschlange von Threads.

Durch \verb|notify| wird \emph{irgendein}
Thread aus der Warteschlange ausgew�hlt und fortgesetzt.

\end{slide}

