【发布时间】:2013-05-30 22:48:41
【问题描述】:
在并行 Java 代码中,我们可以了解线程在哪个内核上执行吗?
假设我有 10 个线程和 4 个内核,是否可以在代码中了解线程 1、线程 2、线程 3 等使用哪个内核?
这不是关键问题,但我想知道是否可能。
【问题讨论】:
-
不太可能...Java没有这样的低级访问权限,反正最终会告诉你的是操作系统,甚至不确定是否提到了你的CPU的物理布局!
-
你可以从这个问答中推断出你的答案:stackoverflow.com/q/1896065/1065197
-
你想做什么?为什么需要这些信息?
-
就像@Gray 推断的那样,你为什么需要这样的信息?即使你能得到它,当任何此类查询返回/发出信号时,它也会变得陈旧。
-
我知道,我只是在并行代码上执行时间测量,在一个执行实例中,其中一个线程在其余线程完成后将近 10 秒完成。当时我没有监控 CPU,因此我想知道是否可以从代码中了解哪个内核正在执行该特定线程。总之,谢谢大家!
标签: java multithreading parallel-processing multicore