c# - 我如何获得对所有托管线程的引用

标签 c# .net clr

我知道盒子里什么都没有……但是有没有人有什么窍门。

请管理线程而不是操作系统线程。

干杯

回复评论:

版本是.Net 3.5。

我想要当前运行进程中的所有托管线程。

我想要它们,这样我就可以获得每个线程的调用堆栈。

谢谢

最佳答案

我怀疑这个级别的任何事情都可以通过托管代码之外的调试 Hook 来完成。按照设计,它并没有真正准备好让您这样做。当然,您可以只使用任何现有的调试器等(甚至只是 windbg/sos)。

对于您拥有的线程——在创建它们时只需存储一个引用。但是,当然,不要将此作为中止它们的机制等 - 有更好的(即可行的)方法可以使用 MonitorMutex,等

当然,如果您不介意跨出托管代码,我相信还有其他选择...

关于c# - 我如何获得对所有托管线程的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1668074/

相关文章:

.net - 哪个开源项目使用 caSTLe activerecord?

.net - 是否可以使用 WCF 完成大流量聊天?

c# - 使用功能区回调意味着什么?

c# - 使用存储过程是否是不好的做法?

c# - 将范围转换为矩形

.net - CLR 和 CLI - 有什么区别?

.net - 验证我没有破坏公共(public)类 API

silverlight - Silverlight、Windows Phone 和 Metro 是否支持 <bindingRedirect/>?

c# - NHibernate 删除集合中的项目不起作用

c# - 在 asp.net core 中通过 ajax 传递数据时获取空列表