Junior — Middle
Ce metode pot fi utilizate pentru a implementa o blocare sigură a resurselor în interiorul unei clase?
sobes.tech AI
Răspuns de la AI
В C# для безопасной блокировки ресурсов внутри класса обычно используют ключевое слово lock. Оно позволяет синхронизировать доступ к разделяемым ресурсам, предотвращая состояние гонки.
Пример:
private readonly object _lockObject = new object();
public void SafeMethod()
{
lock (_lockObject)
{
// Код, который должен выполняться атомарно
}
}
Другие методы:
- Использование
MutexилиSemaphoreдля межпроцессной синхронизации. Monitor.EnterиMonitor.Exitдля более тонкого контроля.ReaderWriterLockSlimдля разделения блокировок на чтение и запись.
Важно использовать отдельный приватный объект для блокировки, чтобы избежать взаимных блокировок и обеспечить безопасность.