September 2011 Archives

Where do deadlocks come from?

Deadlocks are one of the most annoying problems that can occur in multi-threaded programming with parts of a program simply stopping work and waiting indefinitely.

At their simplest, deadlocks are caused when one thread of execution, "Thread A", obtains and holds a lock which another thread of execution, "Thread B", requires whilst itself being blocked from obtaining a lock that it requires because "Thread B" already holds it..

About this Archive

This page is an archive of entries from September 2011 listed from newest to oldest.

June 2011 is the previous archive.

November 2011 is the next archive.

This is where we write about the development of Lock Explorer, a suite of tools for locating lock inversions, finding deadlocks before they happen and investigating lock usage, contention and performance in multi-threaded code.

Find recent content on the main index or look in the archives to find all content.