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