9:00 AM
Можете подсказать по блокировкам? Необходимо сделать блокировку, ограниченную по времени, например 1 секунду. Далее в теле блокировки я делаю задержку на 2 секунды. Так вот, можно ли каким то образом, прервать выполнение кода внутри тела блокировки по таймауту, и выкинуть исключение?
Вычитал что обычный lock(object) { ... } не имеет таймаута, но, есть: Monitor.TryEnter(object, timeout), но, я так подозреваю, таймаут он проверяет на этапе постановки в очередь?
Или, всё же, придётся самостоятельно в отдельном потоке мониторить, и по таймауту принудительно завершать поток?