The University of Waterloo in conjunction with Google Code University is offering an online course entitled Concurrency in C++.
The class is an introduction to advanced control-flow with an emphasis on concurrency and writing concurrent programs at the programming-language level in C++. Programming techniques and styles are examined to express complex forms of control flow, such as exceptions, co routines, and multiple forms of concurrency. Students will learn how to structure, implement and debug complex control-flow.
The class is based on uC++, a C++ dialect designed to provide high-level concurrency for C++, and taught by Peter Buhr who, along with Richard Bilson, describes uC++ in this Dr. Dobb's article entitled Examining uC++. The class covers topics such as:
- Coroutines : suspending and resuming (concurrency precursor)
- Concurrency : introduce multiple threads
- Locking : thread control through synchronization and mutual exclusion
- Errors : new concurrency issues
- Monitors : high-level thread control
- Tasks : active objects
- Other concurrent approaches : different concurrency paradigms