Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Welcome to gpars - Groovy Parallel Systems

The gpars project offers developers new intuitive and safe ways to handle tasks concurrently, asynchronously, and distributed by utilizing the power of the Java platform and the flexibility of the Groovy language.

Main Areas

Project's main values

  • Clever and clean design
  • Elegant APIs
  • Flexibility through metaprogramming
  • Application-level solutions that scale with number of cores
  • Distribution through "scripting" - shipping groovy scripts over the wire

Welcome

The framework provides straightforward Groovy-based APIs to declare, which parts of the code should be performed in parallel. Objects are enhanced with asynchronous methods like eachAsync(), collectAsync() and others, to perform collection-based operations in parallel. Also, closures can be turned into their asynchronous variants, which when invoked schedule the original closure for processing in an executor service. The library also provides several helper methods for running a set of closures concurrently.

The concept of actors as an approach to organizing concurrent activities has recently gained new popularity (thanks to the Scala, Erlang, and other programming languages). Gpars implements this concept for Java and Groovy developers. With actors support you can quickly create several independent Actors, which consume messages passed to them and communicate with other actors by sending them messages. You then build your solution by combining these actors into a communication network. Groovy actors do not depend on an exclusive thread. You can have much more actors than threads.

For the common scenario that one or multiple results are calculated concurrently but need to be processed as soon as they are available, gpars makes it a breeze to correctly model this Dataflow.

Please refer to the User Guide for a more extensive coverage of these topics or head over to the Demos.

Let the fun begin!

 

  • No labels