Junior — Middle
Koja je osnovna uloga klase Lock u C# i u kojim situacijama se koristi?
sobes.tech АИ
Одговор од АИ
В C# ключевое слово lock используется для обеспечения потокобезопасного доступа к разделяемым ресурсам. Оно позволяет синхронизировать выполнение кода, чтобы в один момент времени только один поток мог выполнять определённый блок кода.
Основная роль lock — предотвратить состояние гонки (race condition) при одновременном доступе нескольких потоков к общим данным.
Пример использования:
private readonly object _lockObject = new object();
public void ThreadSafeMethod()
{
lock(_lockObject)
{
// Код, который должен выполняться атомарно
}
}
В ситуациях, когда несколько потоков могут одновременно изменять данные или вызывать методы, lock гарантирует, что только один поток сможет выполнить защищённый блок кода, остальные будут ждать своей очереди.