Il vantaggio dei blocchi non ricorsivi è che sono più veloci, a causa del tracciamento e del controllo ridotti per quale thread è in possesso del blocco. Lo svantaggio è che si verificherà un deadlock se si tenta di bloccarlo nuovamente all'interno dello stesso thread.
Tecnicamente, sono più difficili da usare, perché l'onere è sul programmatore di evitare di bloccarlo in modo ricorsivo. In pratica, i programmatori dovrebbero già preoccuparsi di ciò. Il più delle volte, tenere una serratura in modo ricorsivo significa che la stai tenendo troppo a lungo. Si desidera che il tempo in cui si tiene un lucchetto sia il più piccolo possibile e non è possibile considerare il più piccolo possibile chiamate di funzione di profondità sconosciuta. Potrebbe essere un po 'di lavoro in più, ma il refactoring del codice per poter usare i lock non ricorsivi ne vale quasi sempre la pena.