gpt4 book ai didi

java - 是否可以在多核计算机的单核上运行多线程应用程序?

转载 作者:IT老高 更新时间:2023-10-28 22:22:02 27 4
gpt4 key购买 nike

我有一个需要运行多线程的应用程序,但我希望它只使用计算机的一个内核,就好像我的计算机有单核一样(我知道多线程应用程序在单核计算机上的行为),虽然不是。

此应用程序将部署在客户计算机(Windows XP 和 7)上,我不希望我的应用程序使用多个内核。这可以做到吗?它取决于编程语言吗?还是所有的线程管理都留给操作系统?

提前致谢。

最佳答案

您可以将整个程序的关联设置为仅绑定(bind)到一个 cpu。

在 unix 中,您可以使用 taskset 但对于 Windows,我只知道如何从可能不适合您的任务管理器中执行此操作。

我有一个图书馆,Java Thread Affinity这将允许您以编程方式设置亲和力。

AffinitySupport.setAffinity(1); // only run on cpu 0.

这还将限制从该点启动的任何线程到相同的亲和性。

您可以添加一个带有 main() 的类,该类设置亲和力并调用您的普通 main() 允许您在不更改任何现有代码的情况下添加它。

关于java - 是否可以在多核计算机的单核上运行多线程应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23132375/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com