gpt4 book ai didi

Java 线程亲和性

转载 作者:搜寻专家 更新时间:2023-11-01 03:53:16 27 4
gpt4 key购买 nike

有人知道将 Java 进程中的各个线程锁定到特定 CPU 内核(在 Linux 上)的方法吗?我在 C 中完成了此操作,但找不到如何在 Java 中执行此操作。我的直觉是这将需要 JNI 调用,但我希望这里的人可能有一些见解或者可能以前做过。

谢谢!

最佳答案

您不能在纯 Java 中执行此操作。但是如果您真的需要它——您可以使用 JNI 调用完成这项工作的 native 代码。这是开始的地方:

http://ovatman.blogspot.com/2010/02/using-java-jni-to-set-thread-affinity.html

http://blog.toadhead.net/index.php/2011/01/22/cputhread-affinity-in-java/

UPD: 经过一番思考,我决定为此创建自己的类(class):ThreadAffinity.java它基于 JNA,并且非常简单——因此,如果您想在生产中使用它,您可能应该花一些时间使其更稳定,但对于基准测试和测试,它可以正常工作。

更新 2:还有一个 library用于在 Java 中使用线程关联。它使用与前面提到的相同的方法,但有另一个接口(interface)

关于Java 线程亲和性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18139122/

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