forked from GPars/GPars
-
Notifications
You must be signed in to change notification settings - Fork 0
/
overview.html
68 lines (64 loc) · 2.79 KB
/
overview.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!-- GPars - Groovy Parallel Systems -->
<!-- -->
<!-- Copyright © 2008-10 The original author or authors -->
<!-- -->
<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
<!-- you may not use this file except in compliance with the License. -->
<!-- You may obtain a copy of the License at -->
<!-- -->
<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
<!-- -->
<!-- Unless required by applicable law or agreed to in writing, software -->
<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
<!-- See the License for the specific language governing permissions and -->
<!-- limitations under the License. -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>GPars</title>
</head>
<body>
<p>
<em>GPars (Groovy Parallel Systems) offers Groovy developers intuitive ways to handle tasks concurrently.</em>
</p>
<p>
The framework provides straightforward Groovy-based Domain Specific Languages (DSLs) to declare, which
parts of the code should be performed in parallel. Objects are enhanced with asynchronous methods like
eachParallel(), collectParallel() 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.
</p>
<p>
Effective Scala-like actors are ready to make your code leverage an inherently safer way to organize
concurrent code by eliminating mutable shared state altogether. With actors support you can quickly
create several independent Actors, which consume messages passed to them in their own thread and
communicate with other actors by sending them messages. You then build your solution by combining
these actors into a communication network.
</p>
<p>
The library has four logical parts.
</p>
<ol>
<li>
Actors provide a Groovy implementation of Scala-like actors, remote actors, Clojure-like agents
and a couple of specialized actors like DynamicDispatchActor or Reactor.
</li>
<li>
Dataflow Concurrency (since version 0.8) allows for very natural shared-memory concurrency model,
based on single-assignment variables.
</li>
<li>
And CSP implementation is likely to appear soon as well.
</li>
<li>
ThreadPool uses the Java 1.5 built-in support for executor services to enable multi-threaded
collection and closure processing.
</li>
<li>
ForkJoinPool uses JSR-166y Parallel Arrays to enable multi-threaded collection processing.
</li>
</ol>
</body>
</html>