It allows to graphically monitor the status of threads, locks and conditions, in order to improve detection of design lacks, deadlocks, etc
New version 1.2.0 released
Fixed compilation issues against Java 1.5: now works with both Java 1.5 and 1.6
The working principle is very simple and non invasive:
the library is currently written to subclass the java Thread, ReentrantLock and Condition classes, in order to add them some "magic". It also provides a subclassed Vector<> class that is automagically added to the ui monitor too when used (so it's strong reccomended to use Vector<> for list handling in your designs)
How to use the library?
Just replace the imports, and add these two lines at the beginning of your sources:
You don't need to touch anymore your source code. Just continue threating Thread, ReentrantLock, Condition and Vector just like the standard ones... the framework will do the magic.
What's the step by step mode? How does it work?
Additionally a step by step execution modality is available. When in step by step mode, all the Thread.sleep(x) calls are intercepted and time-sleeping threads will not awake until you press the "Step" button on the ui monitor.
It allows to manually trace each step of your application without getting definitively lost into a mess of println lines.