Sobes.tech
Junior — Middle

Можете ли објаснити шта значе процеси у блокади у мулти-тред апликацији?

sobes.tech АИ

Одговор од АИ

Procesi koji su blokirani (međuzavisno blokiranje ili deadlock) u višestrukoj aplikaciji su situacije kada dva ili više procesa (nitova) čekaju jedan na drugog da oslobode resurse, i nijedan od njih ne može da nastavi.

Na primer, proces A je stekao resurs 1 i čeka resurs 2, dok je proces B stekao resurs 2 i čeka resurs 1. Oba procesa su zauvek blokirana.

Da bi se izbegli deadlock-ovi, koriste se:

  • Pravila za preuzimanje resursa u određenom redosledu.
  • Vremenski limiti čekanja.
  • Upotreba algoritama za otkrivanje i rešavanje međuzavisnih blokada.

U iOS-u je ovo važno pri radu sa višestrukim nitovima, na primer, sa GCD ili NSLock, kako bi se sprečilo zamrzavanje aplikacije.