[Threading concepts]
Things I want to talk about
- Deadlocks
- Livelocks
- Thread scheduling; thread starvation
- Locking granularity
- Improving throughput by reducing contention
- How to do code reviews for concurrent programming
- Synchronizing threads; patterns for thread synchronization
- Ownership – in an instance of an object that could be accessed by different threads, some of the fields of the object might be meant to be accessed by a single "owning" thread. How can we write our code to illustrate that?
- Moving from a single-threaded app to a concurrently-executing app
- Strategies for unit-testing concurrent apps
- wrapping the concurrent section in a single-threaded wrapper
- ???
Various types of concurrent applications
- "worker thread"
- event-driven threads
- "thread cloud". – concurrent threads working on parts of the same problem (matrix math, for example)
Add Comment