1
我想將程序的輸出寫入控制檯,但在某些方面控制檯似乎被阻塞/控制檯甚至在函數完成之前不顯示。Eclipse MessageConsole似乎被阻塞 - 需要異步輸出
下面是一些示例代碼,它顯示了完全相同的行爲:
public void startConsole() throws IOException {
long start = System.currentTimeMillis();
MessageConsole console = new MessageConsole("TestConsole", null);
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] {console});
ConsolePlugin.getDefault().getConsoleManager().showConsoleView(console);
MessageConsoleStream stream = console.newMessageStream();
stream.setActivateOnWrite(true);
stream.println("Start: " + (System.currentTimeMillis()-start));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
stream.println("End: " + (System.currentTimeMillis()-start));
}
我得到:該功能大約一秒鐘運行,我看到輸出(「開始:0 \ NEND:1000」 )
我想要的是:我啓動函數,看到第一個輸出(「Start:0」),一秒鐘後,我想要「End:1000」添加到控制檯。
我該如何做到這一點?