死锁触发原因
两个线程中的每一个线程都尝试锁定另外一个线程已锁定的资源时,就会发生死锁。 两个线程都不能继续执行。
https://learn.microsoft.com/zh-cn/dotnet/standard/threading/managed-threading-best-practices