可能的重复项:
Java: System.out.println and System.err.println out of order
为什么选择此代码
System.err.println("err");
System.out.println("out");
指纹
out
err
在 Eclipse 控制台上?
更新
如果我从命令行运行它,则相同的代码将以正确的顺序打印。
更新
如果我将其修复为
System.err.println("err");
Thread.sleep(5);
System.out.println("out");
它在Eclipse中也能正确打印
它并不慢;它们只是不一定按顺序刷新。但是,您可以解决此问题:
System.err.println("err");
System.err.flush();
System.out.println("out");
好的,所以这似乎是一个已知的Eclipse错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=32205