Sobes.tech
Junior — Middle

Můžete vysvětlit, co se rozumí pod pojmem Lock v kontextu vícenásobného zpracování nebo synchronizace?

sobes.tech AI

Odpověď od AI

Zámek (lock) je mechanismus synchronizace, který se používá k řízení přístupu ke sdíleným zdrojům v prostředí s více vlákny. Zajišťuje, že v daném okamžiku může kritickou sekci kódu vykonávat pouze jedno vlákno, čímž předchází závodním podmínkám a zajišťuje integritu dat.

Na iOS se často používají objekty jako NSLock, DispatchSemaphore nebo @synchronized.

Příklad použití NSLock:

let lock = NSLock()

func criticalSection() {
    lock.lock()
    // kód, který má být vykonán pouze jedním vláknem
    lock.unlock()
}

Bez zámku by mohlo více vláken současně měnit data, což by vedlo k chybám.