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”添加到控制台。
我该如何做到这一点?