Version 136.1 by Ravi Mendis on 2010/03/04 00:17

Show last authors
1 Given that todays processors ship with dual or quad cores and server processors ship with between 8 to 32 cores, languages like Java, Ruby, Groovy and Python are struggling to keep up.
2
3 Scala, as its name suggests is built from the ground-up for concurrent programming - a methodology that can take advantage of these modern multi-core processors.
4
5 If you use Scala for a concurrent programming, the chances are that you're using Scala Actor to do that.
6
7 {{info}}
8
9 Concurrent programming in Scala is based on *Actors* and mailboxes - a common metaphor that is alternatively known as *Message Queues*.
10
11 {{/info}}
12
13 == Using Scala Actors with EOF ==
14
15 EOF being notoriously single-threaded, is incredibly unsuitable for use by Scala Actors.
16 Instead you may still use EOF but only to execute SQL directly.
17
18 === Using EOAccess to execute SQL ===
19
20 Use Wonder API: [[ERXEOAccessUtilities.evaluateSQLWithEntityNamed()>>http://webobjects.mdimension.com/hudson/job/Wonder53/javadoc/er/extensions/eof/ERXEOAccessUtilities.html#evaluateSQLWithEntity(com.webobjects.eocontrol.EOEditingContext,%20com.webobjects.eoaccess.EOEntity,%20java.lang.String)]]
21
22 ==== Caveats ====
23
24 If you're updating the state of EOs directly using SQL from Scala Actors, you will subsequently need to refresh/refetch these EOs from the WebObjects application.