Area: Computing
CoDeK - Java Concurrent Development frameworK

CoDeK ScreenshotCoDeK (formerly Concurrent Development frameworK) is a very simple, open-source, academic java library aimed to help the development of Java multi-threading concurrent applications. 

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:

import com.primianotucci.codek.*;
import com.primianotucci.codek.Thread;

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.

Download:

License:

The application is released under the terms of the GNU GPL

Links: