In letzter Zeit habe ich an Projekten gearbeitet, die häufig Threading verwenden. Ich denke, dass ich in Ordnung bin, sie zu entwerfen. Verwenden Sie so oft wie möglich das zustandslose Design, sperren Sie den Zugriff auf alle Ressourcen, die mehr als einen Thread benötigen usw. Meine Erfahrung in der funktionalen Programmierung hat dazu immens beigetragen.
Wenn ich jedoch den Thread-Code anderer Leute lese, bin ich verwirrt. Ich debugge gerade einen Deadlock und da sich der Codierungsstil und das Design von meinem persönlichen Stil unterscheiden, fällt es mir schwer, mögliche Deadlock-Bedingungen zu erkennen.
Worauf achten Sie beim Debuggen von Deadlocks?