Sobes.tech
Junior — Middle

C# dilinde Lock sınıfının temel rolü nedir ve hangi durumlarda kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

В C# ключевое слово lock используется для обеспечения потокобезопасного доступа к разделяемым ресурсам. Оно позволяет синхронизировать выполнение кода, чтобы в один момент времени только один поток мог выполнять определённый блок кода.

Основная роль lock — предотвратить состояние гонки (race condition) при одновременном доступе нескольких потоков к общим данным.

Пример использования:

private readonly object _lockObject = new object();

public void ThreadSafeMethod()
{
    lock(_lockObject)
    {
        // Код, который должен выполняться атомарно
    }
}

В ситуациях, когда несколько потоков могут одновременно изменять данные или вызывать методы, lock гарантирует, что только один поток сможет выполнить защищённый блок кода, остальные будут ждать своей очереди.