• Don't Tie Your Threads in Knots

    One thing to remember about threads: they're never polite. Ever.

    Threads never move themselves out of the way for other threads. When threads contend for a single resource this is not a great concern, but occasionally a situation arises where multiple threads contend for simultaneous access to multiple resources.

  • More Than Resource Contention

    One of the first things we learn about multithreaded programming is the need to guard against simultaneous read-write access to shared resources, but this isn't always a simple matter.