Codeanalyse mit 5 Prozessen und 6 Semaphoren?

2 Antworten

Kein Deadlock möglich, da die Locks immer in derselben Reihenfolge angefordert werden, ein Ressourcenkonflikt bereits beim ersten konkurrierenden Lock gelöst wird.

Zum Vorgehen kann ich dir da gerade keine wieteren Tipps geben, eigentlich ist das recht intuitiv.
Du musst schauen ob ein Prozess auf ein Lock wart, das nicht freigegeben werden kann. Da er selbst direkt oder indirekt die Freigabe eines Locks blockiert, auf das der Prozess, der das Lock hält, wartet.

Gibt auch irgendwelche Codeanalyseverfahren dafür, aber die wurden im Studium glaube ich nicht besprochen.

Also wenn ich die Pseudo-Funktionen richtig verstehe, befinden sich alle Tasks von Anfang an im Deadlock. Jeder Task wartet hier einfach nur auf ein Signal. Der kritische Bereich wird also niemals und in keinem Task erreicht.

Woher ich das weiß:eigene Erfahrung – Leidenschaftlicher C# Entwickler und Foren Admin