一个线程使用多个核心(四核上的CPU使用率> 25%)

时间:2015-02-24 20:38:28

标签: java multithreading cpu taskmanager

我刚刚开始用Java编程,我对计算机如何分配CPU负载感兴趣。我已经制作了一个非常基本的程序,可以创建一个窗口并进行框和线移动。在测试时,我查看了任务管理器;任务经理说我使用了大约1%的CPU。但是,当我运行我的程序时,CPU使用率上升到~36%(我只启动了程序,没有别的)。谁能告诉我这里发生了什么事,拜托?

enter image description here

1 个答案:

答案 0 :(得分:5)

您认为您的程序只有一个线程,但实际上每个Java程序都有很多线程。 GUI应用程序具有事件调度线程,垃圾收集具有自己的线程等。您可以使用分析器(如JDK中的VisualVM)来查看应用程序中的所有线程。

或者您可以通过编程方式查看它们,请参阅Get a List of all Threads currently running in Java