none
ContextSwitchDeadlock請問是甚麼來的? RRS feed

  • 問題

  • 偵測到 ContextSwitchDeadlock
    Message: CLR 在過去 60 秒一直無法從 COM 內容 0x1191e88 轉換為 COM 內容 0x1191ff8。擁有該目的內容/Apartment 的執行緒,很可能正在進行非提取等候或正在處理非常長的執行作業,而未提取 Windows 訊息。這種情況通常會對效能產生負面影響,甚至可能導致應用程式停止回應,或導致記憶體使用量持續隨時間而累積。若要避免這個問題,所有單一執行緒的 Apartment (STA) 執行緒都應該使用提取等候基本方法 (例如 CoWaitForMultipleHandles),並且在長時間的執行作業中定期提取訊息。

    執行時出現這一段東東,請問是甚麼意思?我只有用一條thread呀 而且那二個16進制的數字每次都一次
    2009年12月25日 下午 05:39

解答

  • hi
    如果你很確定程式執行沒問題的話,可以關閉Visual Studio 偵錯的行為
    debug=>Exceptions=>MDA(Managed Debugging Assistants)
    不要勾選ContextSwitchDeadlock


    http://www.dotblogs.com.tw/ricochen/Default.aspx
    • 已標示為解答 pastic 2009年12月27日 上午 07:12
    2009年12月25日 下午 09:22