Runnable和Thread对象的打印顺序

时间:2018-12-03 21:26:58

标签: java multithreading runnable

它先打印出“主线程”,然后再打印出“子线程”。为什么不首先使用“子线程”?谁能解释一下?谢谢。

public static void main(String[] args) {
    Thread t = new Thread(new Runnable() {
        public void run() {
            for (int i = 0; i < 10; i++) {
                System.out.println("child thread");
            }
        }
    });

    t.start();

    for (int i = 0; i < 10; i++) {
        System.out.println("main thread");
    }
}

1 个答案:

答案 0 :(得分:0)

让我解释一下您的代码。

Thread t = new Thread(new Runnable() {
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println("child thread");
        }
    }
});

在这一部分中,您将定义一个线程。这只是一个定义,直到t.start()都不会发生。当程序到达t.start()时,将运行另一个线程,并且应用程序的主线程将继续。大概在线程启动之前,您的主线程将打印多个“主线程”,并且当线程到达System.out.println("child thread");时,您将看到两种打印的混合。有关Java线程的更多信息,请访问here