Это может показаться глупым вопросом, но если один задерживает ресурс в многопоточном приложении, то операция, которая происходит на ресурсе, выполняется атомарно?
I.E.: может быть прерван процессор или может произойти переключение контекста, когда на этом ресурсе есть блокировка? Если это произойдет, то ничто другое не сможет получить доступ к этому ресурсу, пока он не вернется к нему, чтобы завершить процесс. Звучит как дорогостоящая операция.