1. 程式人生 > >單執行緒單元(STA)執行緒都應使用泵式等待基

單執行緒單元(STA)執行緒都應使用泵式等待基

CLR 無法從 COM 上下文 0x20ad98 轉換為 COM 上下文 0x20af08,這種狀態已持續 60 秒。擁有目標上下文/單元的執行緒很有可能執行的是非泵式等待或者在不傳送 Windows 訊息的情況下處理一個執行時間非常長的操作。這種情況通常會影響到效能,甚至可能導致應用程式不響應或者使用的記憶體隨時間不斷累積。要避免此問題,所有單 執行緒單元(STA)執行緒都應使用泵式等待基元(如 CoWaitForMultipleHandles),並在執行時間很長的操作過程中定期傳送訊息

解決方法 ctrl + alt + e 把“Managed Debugging Assistants”下的“ContextSwitchDeadlock”的Thrown選項去掉。