Message-ID: <406583848.11248.1414253710550.JavaMail.firstname.lastname@example.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_11247_1212080470.1414253710550" ------=_Part_11247_1212080470.1414253710550 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
The actor support in gpars were inspired by the Actors library i= n Scala but have meanwhile gone beyond that.
Actors allow for a messaging-based concurrency model, built from indepen=
dent active objects that exchange messages and have no mutable shared state=
. Actors can help solve or avoid issues like deadlocks, livelocks or starva=
tion, so typical for shared memory.
A nice wrap-up of the key concepts behind actors was written rece= ntly by Ruben Vermeersch
Actors can share a relatively small thread pool. This can go as far as h= aving many concurrent actors that share a single pooled thread. They avoid = the threading limitations of the JVM.
Actor code is processed in chunks separated by quiet periods of waiting = for new events (messages). This can be naturally modeled through contin= uations. As JVM doesn't support continuations directly, they have to b= e simulated in the actors frameworks, which has slight impact on organizati= on of the actors' code. However, the benefits in most cases outweigh the di= fficulties.
example by Jordi Campos i Miralles, Departament de Matemàtica= Aplicada i Anàlisi, MAiA Facultat de Matemàtiques, Universit= at de Barcelona
For more details on Actors visit the Actors section o= f the User Guide.
Please also see the numerous Actor Demo= s.