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.