Are there ways to unit test your multi-threaded code for race conditions and deadlocks?To see if they are performing the way they should be...
How do I unit test multi-threaded code?
unit testing;multithreading
CHESS, a project of Microsoft Research.  Quoting their site:CHESS is a tool for finding and reproducing Heisenbugs in concurrent programs. CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving. If an interleaving results in an error, CHESS can reproduce the interleaving for improved debugging. CHESS is available for both managed and native programs.Update (9/23/2015): For C, C++, and Go, you can use ThreadSanitizer.