Sobes.tech
Junior — Middle

Wie viele Threads sind mindestens erforderlich, damit es zu einer Deadlock-Situation kommt?

sobes.tech KI

Antwort von AI

Die minimale Anzahl an Threads, die für einen Deadlock erforderlich ist, beträgt zwei.

Ein Deadlock tritt auf, wenn zwei oder mehr Threads gleichzeitig Ressourcen halten und jeder auf die Freigabe einer Ressource wartet, die von einem anderen Thread gehalten wird. Zum Beispiel:

  • Thread A sperrt Ressource 1 und wartet auf Ressource 2.
  • Thread B sperrt Ressource 2 und wartet auf Ressource 1.

Beide Threads werden unendlich blockiert, da jeder auf die Freigabe einer Ressource wartet, die vom anderen gehalten wird.

Beispiel im Pseudocode:

// Thread 1
lock(resource1)
wait()
lock(resource2)

// Thread 2
lock(resource2)
wait()
lock(resource1)

Daher reicht für einen Deadlock die Anwesenheit von zwei Threads und zwei Ressourcen aus.