About Me

My photo
PhD Candidate at Purdue University, Computer Science.

Tuesday, April 14, 2009

Scala threading

Scala augments Java's native support for concurrency by adding actors. The Scala's actors library does address the fundamental problem of shared data and locks model by providing an alternative, share-nothing, message passing model that programmers tend to find much easier to reason about. They are implemented on top of normal Java threads, so that every actor must be given its own thread, so that all the act methods get their turn.

It is clear, that this model is not efficient as the creation and switching of threads are not cheap in Java. The normal implementation of receive returns after it finds and processes a message. To overcome this problem Scala adds an alternative to the usual receive method which is called react. react takes a partial function, but it doesn't return, its result type is Nothing.

Scala users, you should be ware that you are still on top of Java threading model...

No comments: