Writing multi-threaded code is hard.

Everyone knows that "locking" is essential for the correct operation of most multi-threaded code but locking too much reduces performance and locking too little leads to hard to reproduce "race condition" bugs.

Simple mistakes can cause deadlocks in your code which cause your program to "hang" or become unresponsive. More often than not people believe that because their code has not deadlocked yet, it will never deadlock. This is a mistake.

Potential deadlocks can lurk in code for years before a hardware or operating system change affects how the code runs and allows the deadlock to occur.

Deadlocks are caused by lock inversions.

We can detect lock inversions using our invasive lock monitoring technology.

Our tools can detect your lock inversions, show you the exact lines of code that cause the problems and help you remove potential deadlocks from your code before they bite!

Latest News

New release of deadlock detection tools
We've released new versions of both LID and LIA today. These releases include many changes that we've been testing…
Logo competion underway at 99designs.com
I've run two logo competitions at 99designs.com, this one for The Server Framework and this one for JetByte Limited. Both…
Welcome to LockExplorer.com
Back in September 2005 I wrote a tool to help me find a deadlock in a complex multi-threaded server…