Concurrency Talks on Software Engineering Radio
Have you heard of Software Engineering Radio? It is podcasts for professional software developers. The podcast are tutorials or interviews of professional software developers and industry experts; some you may have heard of such as Scott Meyers (C++ developer who has written many books), and John Wiegand (IBM's Rational Expert). A new podcast is posted every ten days. The podcast covers such topics as languages, software development, and artificial intelligence.Here are three links to a three part tutorial on concurrency:
This is the first part of a series of Concurrency episodes. This part covers an introduction to the topic. They explain fundamental terms such as thread, process, and mutex and discuss some of the typical challenges, such as deadlocks and race conditions.
In this second part of the concurrency series, basic patterns for concurrent programming, such as Active and Monitor Object, Scoped Locking is discussed. Further, they discuss some architectural considerations regarding the number of threads and resource usage in general.
The third part of the concurrency series covers how to build highly scalable servers. The discussion focuses especially on event-driven servers. As possible solution patterns, a reactor-based design is suggested along-side several patterns for multi-threading: Reader/Writers Locks, Thread Pools, and Leader/Followers.