任务管理器及其与Java进程的相关性

时间:2014-09-26 17:37:10

标签: java windows multithreading concurrency taskmanager

在Windows任务管理器的性能选项卡下,我看到它显示与并发相关的信息。现在我的问题是,在哪里显示进程数量是运行了多少个应用程序进程?显示线程数量的是,进程(应用程序)线程的运行量是多少?我问这个问题的原因是因为我不想让它的实际意义与我的想法相混淆。提前致谢! :)

图片:http://www.upload.ee/image/4279214/question.png(我无法添加图片,因为我没有10以上的声誉)

会这样:

public class ThreadAmountTest {

    public static void main(String[] args) {
        for(int i = 0; i < 10; i++)
            new Thread(new Runnable() {
                while(true) {}
            }.start();
    }

}

让线程数上升?

编辑:此外,它说“处理”,这是什么意思?

2 个答案:

答案 0 :(得分:1)

一般来说,答案是肯定的,但这可能取决于您使用的JVM以及您提供的设置。

在早期版本的Java(1.1)中,使用了由JVM管理的所谓"green threads"。在更新的虚拟机上,使用本机线程,其中JVM中的每个线程对应于实际的操作系统线程。但是在某些虚拟机上可能会有一些选项可以切换到“绿色线程”。 (但我不知道任何仍然使用绿色线程的JVM实现。)

在Windows 7上使用64位Oracle HotSpot Server JVM的最新版本,我运行了与您类似的测试,并看到Windows任务管理器中的线程数确实上升了。您可能会看到类似的结果。

“句柄”是object handles,它们对应于操作系统已分配给正在运行的程序的各种系统资源(文件,线程,窗口等)。

答案 1 :(得分:1)

我认为您可以使用visualvm来提供您正在寻找的确切数据&amp;你也可以使用jconsole,两者都是用于监控java进程的丰富GUI