TOPICS

[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)

Unit testing a "task thread"

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.