【发布时间】:2011-05-11 07:29:59
【问题描述】:
我有 RichTextBox,我从多线程记录大量消息。 一段时间后,我第一次收到“检测到 DisconnectedContext”消息,并从 Debug->Exceptions... 窗口中删除了异常中断。但后来我收到“检测到 ContextSwitchDeadlock”。我也删除了它,用户界面恢复了活力。 过了一段时间又结冰了。
有没有办法防止这种情况发生?或者是否有支持着色、更改字体以在 .NET 中提供视觉反馈的组件,如 RichTextBox 但没有此错误?
检测到 ContextSwitchDeadlock
消息:CLR 无法 从 COM 上下文 0x6eb0760 转换 到 COM 上下文 0x6eb08d0 为 60 秒。拥有的线程 目的地环境/公寓是最 可能要么做一个非抽水等待 或处理很长时间的运行 无抽水操作 Windows 消息。这种情况一般有 负面的性能影响,并可能 甚至导致应用程序变成 无响应或内存使用 随着时间的推移不断积累。到 避免这个问题,全单 线程单元 (STA) 线程 应该使用抽水等待原语 (例如 CoWaitForMultipleHandles)和 在很长一段时间内定期发送消息 运行操作。
【问题讨论】:
标签: c# winforms multithreading events logging