Try Dining Philosopher
Either run a Java applet,
or download an executable JAR.
JVM is required!
The dining philosophers problem is a classic multi-threaded synchronization issue. The problem consists of several philosophers sitting at a table. They do thinking and eating.
Between each philosopher, there is a single stick. In order to eat, a philosopher must have both sticks in his hands. A problem can arise if each philosopher grabs the stick on the right and then waits for the stick on the left. In this case a deadlock has araised, and all philosophers will starve forever.