Lecture 16: Concurrency in Scala and Polyphonic C#

5 March 2009

Concurrency mechanisms as ways of providing multiple processes and controlling separation (to ensure non-interference) and co-operation (to allow communication). Synchronous and asynchronous message passing. Actors in Scala, with asynchronous messaging; thread-based and event-based actors. Polyphonic C# with message passing and synchronization integrated into method dispatch; defining chords with asynchronous and synchronous methods.

(recommended reading and references to follow)