ConTest: A Tool for Testing Multi-threaded Java Applications
ConTest is system for detecting synchronization problems. Basically, ConTest executes a program, trying various combinations of thread scheduling that could lead to race conditions, deadlocks, etc. To use ConTest, download it from the site above.

To see a demo of ConTest,

  1. Download ConTest from here.
  2. Extract the download and open the JavaConTest/README.html file.
  3. Follow the Demo link and run the demo.