javaw.exe高CPU使用率

时间:2015-09-04 15:43:08

标签: java java-7

我创建了一个可运行的jar,它运行在一个线程上。线程执行具有100次迭代的for循环。然而,在i3处理器win7 64位机器上,cpu usgae上涨了60%。 我试图分析process Explorer

中的cpu使用情况

本机线程消耗CPU。 本机线程都在msvcr100.dll!endthreadex + 0x60 消耗CPU 我正在使用jdl 1.7。 有人可以建议这里可能出现的问题。

这是代码: 该应用程序接受套接字连接并处理客户端发送的日期。

while (true)
{
    try
    {
        Socket sock = ssock.accept();   
        // This is the function which has the for loop          
        obj.MyFunction();           
    }
    catch(Exception ex)
    {               
        ssock.close();
    }
    Thread.sleep(1000);
}                   

void MyFunction()
{
    for(int i=0; i < 1000;i++)
    {
         // Processing done here
    }
}

2 个答案:

答案 0 :(得分:1)

对您的代码进行了描述,有关详细信息,请参阅somewhere in the documentation

答案 1 :(得分:0)

我怀疑如果你试试这个:

ex.printStackTrace();

您可能会获得更多信息。现在,当你得到一个例外时,你不知道发生了什么或为什么。你对它保持沉默,这对于击中异常很少是正确的行为。

什么是处理?如果您正在尝试做很多工作,那么转到60%cpu可能并不出人意料。您的算法的Big O运行时是什么?数据集大小是什么?