Course page: https://class.coursera.org/posaconcurrency-001
By Dr. Douglas C. Schmidt, Université Vanderbilt
* error-prone
* type casts * quasi-typed thread handles * non-portable * How to debug ? * Heisenbug: debugger changing execution sequence and times * Need Static/dynamic analysis to detect race conditions. * Inherent complexities: * synchronization * scheduling * deadlock
* inversion of control (owns the app event loop)
* provide integrated domain specific structures * semi-complete applications * Android frameworks: * Hammer framework * Gang of four: * Template method * Strategy method * Factory method