如何找到我的線程在C#中運行的處理器?如何找到我的線程在C#中運行的處理器?
4
A
回答
4
這不一定是一個常數 - 線程可以在其整個生命週期內安排到不同的內核中。如果需要,可以設置親和性掩碼以將特定的線程綁定到特定的CPU。請參閱API docs for Thread.BeginThreadAffinity以瞭解.Net中可以完成的更多細節。
1
恕我直言,有可能是.NET線程沒有綁定到任何本地線程。 > .NET運行時可以隨時在不同的本地線程和處理器之間移動.NET線程。
+1
這是企圖,但放棄。當前沒有一個線程與操作系統線程不匹配的CLR版本。考慮到使用光纖(SQL Server團隊項目)的巨大失敗,這種情況不太可能在短期內改變。 – 2010-02-26 14:19:41
1
我不確定你可以。您可以獲取進程關聯蒙版(GetProcessAffinityMask),並設置相同的(SetProcessAffinityMask)。你也可以設置線程關聯掩碼,但我的理解是,這樣做可以限制線程在您設置關聯掩碼的其中一個處理器上運行。
如果您正在研究在特定內核上運行的特定線程,您可能需要設置進程關聯掩碼來定義您的代碼可以運行的一組內核,然後進程中的線程將浮動到所選內核中。
相關問題
- 1. 線程運行中的處理程序
- 2. 如何處理線程C#
- 3. 如何在boost中找到當前正在運行的線程?
- 4. 處理器線程C#
- 5. C++線程劃分到微處理器
- 6. C++線程 - 並行處理
- 7. C#中的多線程處理以及如何處理
- 8. C#如何在另一個線程中運行和處理表單?
- 9. 運行的線程在C#
- 10. 如何在C#中找到運行應用程序的屏幕?
- 11. C#,在單獨的線程中執行事件處理程序
- 12. 如何在c中的線程中處理dll函數調用#
- 13. C預處理器在運行時?
- 14. Android中的線程處理長時間運行的進程
- 15. jvm如何處理運行狀態下的許多線程
- 16. 如何增加在我的進程中運行的線程數?
- 17. 在一個永久線程中運行事件處理程序
- 18. 如何在運行時在ASP.NET/C#中獲得預處理器常量的值?
- 19. 線程處理C#中的大集合
- 20. 如何在C++中註冊線程退出處理程序?
- 21. 如何找到一個進程在C中運行?
- 22. 批處理運行java,找不到類
- 23. 如何在多線程的C++運行過程中獲取線程跟蹤?
- 24. 在處理器內核上如何執行多個線程
- 25. 當我的應用程序未運行時,如何處理FCM?
- 26. 如何處理未在Ember REST適配器中找到的404
- 27. 多核心處理器中的線程
- 28. 如何在windbg中找到DispatcherTimer的事件處理程序
- 29. 處理在C#中的C++線程引發的異常
- 30. 如何在遠程服務器上運行批處理文件
這是左邊那個....(從任何方向)。 – cjk 2010-02-26 09:58:27
@ck如果這將是一個答案,我一定會按下向下的箭頭...我會讓你猜測從哪個方向。 – luvieere 2010-02-26 10:09:48