Most of the many concurrent programming models that have been invented were devised by concurrency "aristocrats" for concurrency aristocrats. To get concurrency to the masses, we need a simple way to exploit parallelism with languages that common developers are already used to. A pragmatic approach might be to explore ways to implicitly extract parallelism from current object-oriented programs by overloading OO constructs. The author proposes viewing a program as a collection of "free" objects, each of which has its own thread of control and executes its operations within atomic transactions. Such objects would communicate by asynchronous message passing with futures--objects that encapsulate the results of server invocations and let clients retrieve them while hiding the actual state of readiness from the client.
Index Terms:
concurrency, application development, programming model, object-oriented programming
Citation:
Rachid Guerraoui, "A Smooth Concurrency Revolution with Free Objects," IEEE Internet Computing, vol. 11, no. 4, pp. 82-85, July/Aug. 2007, doi:10.1109/MIC.2007.76