Как понял речь идет о двух разных замках. deadlock блокировка в обычном случае может возникнуть в случае, если замки блокируются:
- в первом потоке - сперва lock1, и под его прикрытием - lock2;
- во втором потоке поряд обратый - сперва lock2, затем - lock1.в этом случае они начинают бесконечно ожидать завершение друг друга, не имея шансов на прерывание, потому как высвободить _успешно_ заблокированный замок в режиме ожидания разблокировки замка они не могут.
Это касается userlevel блокировок для любой ОС. Механизм ядра в этом смысле очень похож. Но возможны некоторые ньюансы, напрямую не связанные с проблемой взавимоисключающих блокировок. Если уже есть какая-то проблема, то опиши сиптоматику.