gpt4 book ai didi

java - JSVC Java 守护进程所需的性能改进

转载 作者:行者123 更新时间:2023-11-30 09:12:02 36 4
gpt4 key购买 nike

我已根据指南成功将 Java 服务部署到 Linux 发行版 here即实际的简单文件 IO 滴答代码,我注意到这样一个简单程序的 CPU 使用率很高。可能是由于线程不断检查...

我使用 NetBeans 在 CentOS 上构建了实际的 JAR 文件,然后部署到 Arch Linux ARM 发行版,然后使用 a) Oracle 的 Java SE 嵌入式 JVM (v7) 和 b) java-7-openjdk JVM。

问题是 jsvc 的 CPU 使用率一直在 80% 到 95% 之间 Swing 。我没想到CPU会那么高。在实际的 jsvc 调用中,我尝试为后台进程添加 -server 参数 - 但没有成功(我明白了。一个例子会很有帮助,这样我们就可以排除它是否是缺少的 -server 参数。

我想除了 -server 选项我可能还遗漏了一些东西。我被告知要查看 ScheduledExecutorService - 也许它可以做出改进?

感谢您的想法 - 谢谢。

最佳答案

所以根据 nos 的建议,我添加了线程暂停并解决了这个问题。代码如下:

        @Override
public void run() {

while(!stopped){

long now = System.currentTimeMillis();
if(now - lastTick >= 10000){
System.out.println(!lastOneWasATick ? "tick" : "tock");
lastOneWasATick = !lastOneWasATick;
lastTick = now;
}

//ADDED THIS BLOCK
try {
Thread.sleep(15000);
} catch (InterruptedException ex) {
//Logger.getLogger(JDaemon.class.getName()).log(Level.SEVERE, null, ex);
}
//END BLOCK
}

}

关于java - JSVC Java 守护进程所需的性能改进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21816244/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com