2013-07-01 64 views
0

我正在創建一個使用ProcessBuilder與C++可執行文件進行交互的Java GUI。所有來自C++可執行文件的InputStream,OutputStream,ErrorStream都被重定向到GUI TextBox。 C++可執行文件非常快,並且它輸出很多消息。現在的問題是,儘管C++可執行文件已經完成執行,GUI仍然在TextBox上打印這些消息(因爲我正在創建顯示線程以寫入GUI文本框)另外5-6分鐘。有什麼辦法可以將GUI-TextBox的寫入速度與C++可執行文件的寫入速度同步嗎?提前致謝。SWT TextBox寫入速度比C++可執行文件打印速度慢得多

回答

0

一個想法看它是否適合你:

不要試圖刷新GUI與從C++來每隔消息。嘗試緩衝它們並儘量減少您爲GUI刷新所做的回調次數。你不能預先決定一個好的緩衝區大小,你可以刷新到GUI。您可能必須通過嘗試不同的緩衝區大小並通過回調來限制GUI刷新次數來進行微調。

希望它有幫助!