为什么System.err比Eclipse中的System.out慢?

时间:2012-12-01 05:27:21

标签: java eclipse stderr stdio

  

可能重复:
  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中正确打印

1 个答案:

答案 0 :(得分:4)

它并不慢;它们不一定是flushed。但是,你可以解决这个问题:

System.err.println("err");
System.err.flush();
System.out.println("out");

好的,所以这似乎是一个已知的Eclipse错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=32205