gpt4 book ai didi

Java SerialPort 写入使 cpu 使用率上升至 100%

转载 作者:行者123 更新时间:2023-12-01 05:04:54 26 4
gpt4 key购买 nike

我有一个在大约 150 台计算机上的 WinXP 上运行的 Swing GUI 应用程序(每台计算机的配置相同)。

但在其中一些(如 5)上,当应用程序尝试通过 RXTX(pos 打印机)与串行端口通信时,java cpu 使用率上升到接近 100%,从而阻塞整个机器。

该串口的写入是在特定线程中完成的。其中之一如下所示:

... queries on the hsql database
... writing results in a byte array called "stream"

CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("COM2");
serialPort = (SerialPort) portId.open("Sending", 2000);
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);

OutputStream out = serialPort.getOutputStream();
out.write(stream);
out.close();
serialPort.close();

在编写之前,我首先认为查询存在问题,但我的应用程序在其他线程中执行了大量查询,并且不存在此类问题。

在这些计算机上,打印时间是可变的(最多 10 分钟,在此期间机器被阻塞)。在其他计算机上,打印在 2 秒内完成,而不会增加 cpu 使用率。

您对这个问题的根源有什么想法吗?

最佳答案

建议检查服务器和工作站允许的波特率检查发送机器的硬件RAM数量检查 jre 配置面板中允许使用多少 RAM Java检查防病毒软件

关于Java SerialPort 写入使 cpu 使用率上升至 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12855517/

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