Skip to end of metadata
Go to start of metadata

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.

Getting Started

The current release implements an in-memory tuplespace, with basic operations (put, get, and take.) See the TuplespaceUsage page for documentation. Also be sure to try the Demos.

See the Project Roadmap for other planned features.


For questions or comments, write to vanessa (symbol) fridgebuzz (punctuation) com

Gruple and Codehaus

Gruple is in the process of moving to Codehaus.

Urgent Bug Fix Release

Bug fix release 1.1.1 released. Please do not use Release 1.1.

  • No labels