Junior — Middle
რა არის Lock კლასი C#-ში და რა სიტუაციებში გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
В C# ключевое слово lock используется для обеспечения потокобезопасного доступа к разделяемым ресурсам. Оно позволяет синхронизировать выполнение кода, чтобы в один момент времени только один поток мог выполнять определённый блок кода.
Основная роль lock — предотвратить состояние гонки (race condition) при одновременном доступе нескольких потоков к общим данным.
Пример использования:
private readonly object _lockObject = new object();
public void ThreadSafeMethod()
{
lock(_lockObject)
{
// Код, который должен выполняться атомарно
}
}
В ситуациях, когда несколько потоков могут одновременно изменять данные или вызывать методы, lock гарантирует, что только один поток сможет выполнить защищённый блок кода, остальные будут ждать своей очереди.