Junior — Middle
Wat is het minimale aantal threads dat nodig is voor een deadlock?
sobes.tech AI
Antwoord van AI
Het minimale aantal threads dat nodig is voor een deadlock is twee.
Een deadlock treedt op wanneer twee of meer threads tegelijkertijd resources vasthouden en elk wacht op het vrijmaken van een resource die door een andere thread wordt vastgehouden. Bijvoorbeeld:
- Thread A vergrendelt resource 1 en wacht op resource 2.
- Thread B vergrendelt resource 2 en wacht op resource 1.
Beide threads worden voor altijd geblokkeerd, omdat elk wacht op de vrijgave van een resource die door de ander wordt vastgehouden.
Voorbeeld in pseudocode:
// Thread 1
lock(resource1)
wait()
lock(resource2)
// Thread 2
lock(resource2)
wait()
lock(resource1)
Dus, voor een deadlock, zijn twee threads en twee resources voldoende.