Multithreading 程序产生的线程的处理器利用率

Multithreading 程序产生的线程的处理器利用率,multithreading,processor,utilization,Multithreading,Processor,Utilization,我有一个java程序,可以产生多个线程,比如说10-20个线程。此程序计划在具有32个处理器的机器上运行 我很想知道这些线程是否会利用所有处理器的能力 Solaris是环境;这有什么区别吗?一个好的剖析者应该告诉你这一点。如果线程是计算绑定的,那么是的,您将使用与线程数量相同的内核,如果您在执行I/O或争用时被阻止,那么它将小于这个数量 鉴于您不在Windows上,以下内容不适用,但是一个好的探查器应该仍然能够提供一个给定时间段内您的进程所消耗的CPU周期的度量 如果您使用的是Windows,那

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

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


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

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

鉴于您不在Windows上,以下内容不适用,但是一个好的探查器应该仍然能够提供一个给定时间段内您的进程所消耗的CPU周期的度量


如果您使用的是Windows,那么一个很好的免费工具就是Windows性能工具包xperf,它现在是平台sdk的一部分。它将显示每个线程或进程在一段时间内消耗的处理器周期,而不是仅消耗的时间。

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