A concurrent programming library written in Groovy, providing simple programming models for complex multi-threaded tasks.
At its core, Gruple provides an in-process tuplespace abstraction to enable a JavaSpaces-style programming model for communication and coordination among threads. A remote implementation allowing coordination among processes is planned for a future release.
Tuplespaces are best represented by the Linda coordination language for parallel computing, and the more recent !JavaSpaces API from Sun's Jini project. Both of these technologies were meant to provide the illusion of a shared memory on top of a message passing system, along with a small set of operations to greatly simplify parallel programming.
Now that multi-core processors are becoming the norm, methods of easing parallel programming within a single process are essential to allow programmers to take full advantage of increasing computing power without becoming experts on the intricacies of concurrent programming.
The Gruple project (among many others) aims to provide a simple abstraction to allow programmers to coordinate and synchronize threads and processes with ease.
See the Project Roadmap for other planned features.
For questions or comments, write to vanessa (symbol) fridgebuzz (punctuation) com
Gruple is in the process of moving to Codehaus.
Bug fix release 1.1.1 released. Please do not use Release 1.1.