Sobes.tech
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.