Junior — Middle
Mekkora minimális szálak száma szükséges a holtpont (Deadlock) kialakulásához?
sobes.tech MI
Válasz az MI-től
A deadlock kialakulásához szükséges minimális szálak száma kettő.
A deadlock akkor fordul elő, amikor két vagy több szál egyidejűleg tart erőforrásokat, és mindegyik várja, hogy egy másik szál által tartott erőforrás felszabaduljon. Például:
- Az A szál lefoglalja az 1-es erőforrást, és vár a 2-es erőforrásra.
- A B szál lefoglalja a 2-es erőforrást, és vár az 1-es erőforrásra.
Mindkét szál örökre blokkolva marad, mivel mindegyik várja, hogy a másik által tartott erőforrás felszabaduljon.
Példa pseudokód:
// Szál 1
lock(erőforrás1)
wait()
lock(erőforrás2)
// Szál 2
lock(erőforrás2)
wait()
lock(erőforrás1)
Így, egy deadlock esetén, elég két szál és két erőforrás.