Junior — Middle
Pode explicar para que é usada a classe NSLock no desenvolvimento em Objective-C?
sobes.tech IA
Resposta da IA
A classe NSLock em Objective-C é usada para implementar exclusão mútua (mutex), ou seja, para sincronizar o acesso a recursos partilhados entre threads. Isto previne condições de corrida, quando vários threads tentam modificar os mesmos dados ao mesmo tempo.
Exemplo de uso do NSLock:
NSLock *lock = [[NSLock alloc] init];
// Em um dos threads
[lock lock];
// Seção crítica: acesso seguro ao recurso partilhado
// ...
[lock unlock];
O NSLock bloqueia o thread ao chamar lock se outro thread já detém o bloqueio, e desbloqueia ao chamar unlock. É uma forma simples e eficiente de garantir a segurança de threads em aplicações multithread no iOS/macOS.