Встречается на собеседованиях • сегодня

Зачем нужен Lock

lock используется для синхронизации доступа к общему ресурсу в многопоточной среде, предотвращая состояние гонки (race condition). Он гарантирует, что только один поток может выполнять критическую секцию кода в данный момент.

Пример:

csharp
private static readonly object _lockObj = new object();
private static int _counter = 0;

void IncrementCounter()
{
    lock (_lockObj)
    {
        _counter++;
    }
}

Нюансы:

  • Объект блокировки должен быть private и readonly
  • Избегайте блокировки на this или Type объекта
  • Не используйте lock с value-типами
  • Держите критическую секцию минимальной по времени
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы