我创建了一个 Java 应用程序,其中 GUI 与外部 C++ 可执行文件交互。
我正在使用 ProcessBuilder 从 C++ 可执行文件创建并将输入/输出/错误附加到 GUI。我正在使用大小为 1024 的缓冲区。如果 C++ 以非常高的速度执行大量 printf 语句,而 Java GUI 读取 1024 大小的字符怎么办?这会造成瓶颈吗?
public void run()
{
try
{
char[] buffer = new char[1024];
for (int n = reader.read(); n != -1; n = reader.read(buffer))
{
writeBytes2Text(buffer, 0, n);
}
}
catch (Exception x)
{
//some exception
}
}