0

我正在创建一个 Java GUI,它使用 ProcessBuilder 与 C++ 可执行文件交互。C++ 可执行文件中的所有 InputStream、OutputStream、ErrorStream 都被重定向到 GUI 文本框。C++ 可执行文件非常快,它会输出大量消息。现在的问题是,即使 C++ 可执行文件已完成执行,GUI 仍在 TextBox 上打印这些消息(因为我正在创建显示线程以写入 GUI TextBox)另外 5-6 分钟。有什么方法可以将 GUI-TextBox 的写入速度与 C++ 可执行打印的速度同步?提前致谢。

4

1 回答 1

0

一个想法,看看它是否适合你:

不要尝试使用来自 c++ 的每条消息来刷新 gui。尝试缓冲它们并最小化您为 GUI 刷新所做的回调次数。您无法预先确定可以刷新到 GUI 的良好缓冲区大小。您可能必须通过尝试不同的缓冲区大小并通过回调限制 GUI 刷新的次数来进行微调。

希望能帮助到你!

于 2013-07-01T06:40:53.003 回答