1

在并行 Java 代码中,我们可以了解线程在哪个内核上执行吗?

假设我有 10 个线程和 4 个内核,是否可以在代码中了解线程 1、线程 2、线程 3 等使用哪个内核?

这不是一个关键问题,但我想知道这是否可能。

4

1 回答 1

2

在并行 Java 代码中,我们可以了解线程在哪个内核上执行吗?

在 Java 内部,答案是否定的。有一些方法可以查看 Linux(可能还有其他 Unixen)中的进程列表,可以显示虚拟进程和 CPU 亲和性。这是非常不可移植的,但是对于上下文切换的任务,它没有意义。

我在这里有一些关于 CPU 信息的更多细节,但它没有解决相似性问题:Concurrency of posix threads in multiprocessor machine

于 2013-05-30T22:53:36.780 回答