执行线程的核心编号

时间:2013-05-30 22:48:41

标签: java multithreading parallel-processing multicore

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

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

这不是一个至关重要的问题,但我想知道是否可能。

1 个答案:

答案 0 :(得分:2)

  

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

从Java内部来看,答案是否定的。有很多方法可以查看Linux(以及其他Unixen)中的进程列表,它可以显示虚拟进程和CPU亲和性。这是非常不便携的,对于上下文切换的任务,它没有意义。

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