Java with NetBeans 7.2.1-执行顺序问题

Java with NetBeans 7.2.1-执行顺序问题,java,order-of-execution,io-buffering,Java,Order Of Execution,Io Buffering,考虑NetBeans Java应用程序中的以下两个类。主要类别: public class ExcecutionOrder { public static void main(String[] args) { Worker worker = new Worker(); worker.init(); worker.doProcessing(); worker.stop(); } } 还有这样的工人阶级: publ

考虑NetBeans Java应用程序中的以下两个类。主要类别:

public class ExcecutionOrder {
    public static void main(String[] args) {

        Worker worker = new Worker();

        worker.init();
        worker.doProcessing();
        worker.stop();
    }
}
还有这样的工人阶级:

public class Worker {

    public void init() {
        System.out.println("\n-------------------------------------------------");
        System.out.println("Worker initialized.");
        System.out.println("-------------------------------------------------\n");
    }

    public void doProcessing() {
        printNTimes(2000);
    }

    public void doProcess(int n) {
        printNTimes(n);
    }

    public void printNTimes(int n) {
        System.out.println();
        for (int i = 0; i < n; i++) {
            System.err.println("Output by Worker: " + i);
        }
        System.out.println();
    }

    public void stop() {

        System.out.println("\n-------------------------------------------------");
        System.out.println("Worker stopped.");
        System.out.println("-------------------------------------------------\n");
    }
}
应在哪里:

-------------------------------------------------
Worker initialized.
-------------------------------------------------
Output from Worker: 0
Output from Worker: 1
Output from Worker: 3
[...]
如果我将netbeans的处理器关联性设置为仅使用一个cpu核心,那么至少初始部分是正常的,而另一条控制消息(Worker stopped.)仍然是分段的。受到输出消息的干扰

使用Eclipse执行相同的操作会导致预期的执行顺序

有人知道这里发生了什么吗非常感谢您提前提出的建议


备注:NetBeans 7.2.1使用的是jdk1.7.0_03,Eclipse版本是Mars.2版本(4.5.2)-将代码从worker类转移到main类的main方法时,甚至会出现此问题,而根本不使用main方法以外的其他方法。

您正在使用
System.out
为您的
worker初始化
系统。err
为您的
worker输出…

System.out
System.err
是不同的输出流,它们在不同的时间刷新,因此控制台上的输出是无序的


使用
System.out.println()
对于所有输出行,所有输出都将按预期顺序进行。

使用NetBeans IDE 7.4和jdk1.8.0\u 05也会按预期交付执行顺序。
-------------------------------------------------
Worker initialized.
-------------------------------------------------
Output from Worker: 0
Output from Worker: 1
Output from Worker: 3
[...]