如何找到我的线程在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