Junior — Middle
Quais métodos podem ser usados para implementar um bloqueio seguro de recursos dentro de uma classe?
sobes.tech IA
Resposta da IA
Em C# para bloquear recursos de forma segura dentro de uma classe, geralmente usa-se a palavra-chave lock. Isto permite sincronizar o acesso a recursos partilhados, prevenindo condições de corrida.
Exemplo:
private readonly object _lockObject = new object();
public void SafeMethod()
{
lock (_lockObject)
{
// Código que deve ser executado de forma atómica
}
}
Outros métodos:
- Uso de
MutexouSemaphorepara sincronização entre processos. Monitor.EntereMonitor.Exitpara controlo mais fino.ReaderWriterLockSlimpara separar bloqueios de leitura e escrita.
É importante usar um objeto privado separado para o bloqueio, para evitar bloqueios mútuos e garantir a segurança.