我的客戶機/服務器解決方案中有多個啓動項目。服務器是一個控制檯應用程序,客戶端是一個WinForms應用程序。服務器/控制檯首先啓動以防重要。打破Visual Studio中多個啓動項目之間的死鎖
現在由於某些同步客戶端代碼阻塞服務器而導致死鎖。線程同步使用簡單的lock
語句完成。
當發生死鎖時,兩個應用程序當然都會凍結,並且在VS中暫停/暫停只會中斷服務器應用程序,而不會破壞客戶端。這裏有兩個問題:
- 我該如何選擇哪個項目打破多個啓動項目?
- 如果一個
lock
語句卡在死鎖中,有沒有辦法找出哪一行代碼在該對象上有一個當前鎖?