线程问题,拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作。

LW_WWW 2011-08-31 11:55:24
检测到 ContextSwitchDeadlock
Message: CLR 无法从 COM 上下文 0x219100 转换为 COM 上下文 0x219328,这种状态已持续 60 秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作。这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积。要避免此问题,所有单线程单元(STA)线程都应使用泵式等待基元(如 CoWaitForMultipleHandles),并在运行时间很长的操作过程中定期发送消息。
...全文
1567 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LW_WWW 2011-11-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luoli52 的回复:]
同样问题的飘过
DirectoryEntry entryPC = new DirectoryEntry("WinNT://<域名>");

想取域内指定段的IP
[/Quote]


这个办法我知道,但还有没有别的办法呢?
bqloss 2011-09-03
  • 打赏
  • 举报
回复
解决方法是 在Debug -> Exceptions -> Managed Debug Assistants里 去掉ContextSwitchDeadlock一项前面的钩。

在调试(菜单)-->异常--> Managed Debug Assistants里 去掉ContextSwitchDeadlock一项前面的钩。

luoli52 2011-09-02
  • 打赏
  • 举报
回复
同样问题的飘过
DirectoryEntry entryPC = new DirectoryEntry("WinNT://<域名>");

想取域内指定段的IP

6,868

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧