Может ли CLR уничтожить или переработать блокирующий поток при сборке мусора? - PullRequest
0 голосов
/ 25 января 2019

Я написал такой код

private boid Show(){
  ....
   LogHelper.Info("try lock")
   lock(a){
     LogHelper.Info("get lock")
     .....
    }
   LogHelper.Info("release lock")  
       ....
 }

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

В моем журнале покажите, как показано ниже

2019-01-24 22: 52: 45.4663 Информационная тема 1 try lock

2019-01-24 23: 06: 27.7118Информационный поток 1: некоторые другие операции

В моем журнале нет "get lock" и "release lock", а после блокировки в потоке 1 выполняются некоторые другие операции. Поэтому я пришел к выводу, что CLR повторяет мой блокирующий поток.

Так существует ли какой-либо процесс для переработки блокирующего потока в CLR?

...