Di recente ho lavorato a progetti che utilizzano fortemente il threading. Penso di essere a posto nel progettarli; usa il più possibile la progettazione senza stato, blocca l'accesso a tutte le risorse di cui ha bisogno più di un thread, ecc. La mia esperienza nella programmazione funzionale mi ha aiutato moltissimo.
Tuttavia, quando leggo il codice thread di altre persone, mi confondo. Sto eseguendo il debug di un deadlock in questo momento, e poiché lo stile e il design della codifica sono diversi dal mio stile personale, ho difficoltà a vedere potenziali condizioni di deadlock.
Cosa cerchi durante il debug dei deadlock?