8
A
回答
1
这不是它的工作方式。托管程序中的任何线程都可以执行托管代码,包括最初作为非托管线程启动的代码。其中最主要的是,主线程和任何线程池线程开始执行纯粹的非托管代码。它通过Marshal.GetDelegateForFunctionPointer()提供的网关进入托管代码。
看到数十个(否则无效)线程并不罕见。它们通常是由COM服务器启动的线程池线程和线程。 .NET缺少在这些线程上使用Thread.ManagedThreadId所需的管道。这是故意的,逻辑.NET线程不一定是物理操作系统线程。虽然目前情况并非如此,但目前没有主机在使用。
您将不得不避免提问。
1
我没有检查是否可以使用调试接口,但由于VS在其调试器中显示托管线程,因此您应该能够将它们放入您的调试器中。
在.NET中,编写调试器比您期望的要容易得多。实现调试器基本上包括实现ICorDebug
接口。
有来自微软的样本:Managed Debugger Sample
相关问题
- 1. C#托管线程清理
- 2. 托管线程切换操作系统线程的频率如何?
- 3. 如何从本地线程访问托管代码强制使用AppDomain?
- 4. 如何在独立的AppDomain中托管IronPython引擎?
- 5. AppDomain如何在托管.NET组件的navite应用程序中初始化
- 6. 如何在Apache中托管C程序?
- 7. 托管的主UI线程是否停留在同一个(非托管的)操作系统线程上?
- 8. 从非托管dll中的QThread回调到托管C++主线程
- 9. 如何终止在非托管代码中阻塞的托管线程?
- 10. AppDomain和线程
- 11. C++/CLI托管线程清理
- 12. 如何托管我的WebSocket
- 13. 如何在非托管C++应用程序中托管许可的.Net控件?
- 14. 统计分析Rails应用程序的最佳托管
- 15. 如何在使用托管C++时从另一AppDomain返回一个托管对象?
- 16. 如何在.NET中测量托管线程的性能
- 17. 如何中止运行非托管代码的线程
- 18. 托管C++:如何获得我的非托管版本号以匹配我的程序集版本号
- 19. 在混合托管/非托管C++/CLI进程关闭期间线程关闭
- 20. 如何在线托管TcpClient/listener(我想在线托管我的聊天服务器)
- 21. 如何保护我自己托管的网站/系统?
- 22. 清理在C#应用程序退出非托管C++线程
- 23. 将非托管转换为托管过程中的托管
- 24. ASP.NET +线程感知的非托管API
- 25. 如何计算托管我的Web应用程序的Amazon S3的成本
- 26. 如何从托管C++ exe调用非托管C++ exe
- 27. 如何在c#Winforms中自行托管SignalR集线器?
- 28. 如何捕获托管/非托管DirectShow应用程序中的本地线程创建?
- 29. 托管C#中的自由非托管C代码内存
- 30. 在C#程序中托管Eclipse程序
谢谢你让我知道。不过,我想要一个答案。如何找出在我的应用程序中随时创建多少托管线程? – 2010-06-18 23:50:38
你创造它们,数它们。 – 2010-06-19 00:45:38
这就是要点!我使用3D派对API,他们不想透露细节,也可能使用线程池或其他软件等。 – 2010-06-22 14:33:22