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. 如何捕捉託管C++中的非託管C++異常
- 6. AppDomain如何在託管.NET組件的navite應用程序中初始化
- 7. 如何在Apache中託管C程序?
- 8. 託管的主UI線程是否停留在同一個(非託管的)操作系統線程上?
- 9. 從非託管dll中的QThread回調到託管C++主線程
- 10. 如何終止在非託管代碼中阻塞的託管線程?
- 11. AppDomain和線程
- 12. C++/CLI託管線程清理
- 13. 如何託管我的WebSocket
- 14. 如何在非託管C++應用程序中託管許可的.Net控件?
- 15. 我的託管應用中的哪個線程導致崩潰?
- 16. 統計分析Rails應用程序的最佳託管
- 17. 如何將我的託管在線數據庫與我的Java編程鏈接?
- 18. 如何在使用託管C++時從另一AppDomain返回一個託管對象?
- 19. 託管C++:如何獲得我的非託管版本號以匹配我的程序集版本號
- 20. 如何在.NET中測量託管線程的性能
- 21. 如何中止運行非託管代碼的線程
- 22. 在混合託管/非託管C++/CLI進程關閉期間線程關閉
- 23. 如何使用php在我的管理面板中繪製統計線圖?
- 24. 我有一個託管的DLL,並在C#中的管理程序 - 我想託管DLL是裝配外部
- 25. 谷歌項目託管:SVN統計
- 26. 如何在線託管TcpClient/listener(我想在線託管我的聊天服務器)
- 27. 如何保護我自己託管的網站/系統?
- 28. 清理在C#應用程序退出非託管C++線程
- 29. 將非託管轉換爲託管過程中的託管
- 30. 如何步入非託管C++庫從我的C++/CLI代碼
謝謝你讓我知道。不過,我想要一個答案。如何找出在我的應用程序中隨時創建多少託管線程? – 2010-06-18 23:50:38
你創造它們,數它們。 – 2010-06-19 00:45:38
這就是要點!我使用3D派對API,他們不想透露細節,也可能使用線程池或其他軟件等。 – 2010-06-22 14:33:22