0

我有一个 java 程序,它产生多个线程,比如 10-20 个线程。该程序计划在具有 32 个处理器的机器上运行。

我很想知道这些线程是否会利用所有处理器的功能。

Solaris是环境;这有什么区别吗?

4

1 回答 1

0

一个好的分析器应该告诉你这一点。如果线程是计算绑定的,那么是的,您将使用与线程一样多的内核,如果您在执行 I/O 或争用时被阻止,那么它将少于该线程数。

鉴于您不在 Windows 上,以下内容不适用,但一个体面的分析器应该仍然能够提供在给定时间段内您的进程消耗的 CPU 周期的测量值......

如果你在 Windows 上,一个很好的免费工具是 Windows Performance Toolkit (xperf),它现在是平台 sdk 的一部分。它将向您显示一段时间内每个线程或进程消耗的处理器周期(而不仅仅是经过的时间)。

于 2009-09-25T04:09:19.487 回答