Hello,
Read this:
Message Passing vs Shared Memory
Read more here:
http://boron.physics.metu.edu.tr/ozdogan/GraduateParallelComputing.old/week8/node9.html
And now about The disadvantages of Actor model:
1- Not all languages easily enforce immutability
Erlang, the language that first popularized actors has immutability at
its core but Java and Scala (actually the JVM) does not enforce
immutability.
2- Still pretty complex
Actors are based on an asynchronous model of programming which is not so straight forward and easy to model in all scenarios; it is particularly difficult to handle errors and failure scenarios.
3- Does not prevent deadlock or starvation
Two actors can be in the state that wait message one from another; thus
you have a deadlock just like with locks, although much easier to debug.
With transactional memory however you are guaranteed deadlock free.
4- Not so efficient
Because of enforced immutability and because many actors have to switch
in using the same thread actors won't be as efficient as lock-based concurrency.
Thank you,
Amine Moulay Ramdane.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)