В прошлом я использовал инструменты профилирования производительности, такие как nprof, Equatec profiler и Yourkit profiler, чтобы выявлять и устранять / уменьшать узкие места производительности в коде, в основном выполняемом в одном потоке (сериализованное выполнение). В настоящее время я пишу много многопоточного кода, который может быть замедлен конфликтом блокировок; какие инструменты и приемы можно использовать, чтобы определить, где и в какой степени происходит конфликт блокировки?