有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java哪个线程正在调用该行?

我试图学习线程,这让我思考。 请看一看以下内容:

public static void main(String [] args) {  // line 1
   Thread exampleThread = new Thread() {   // line 2
      public void run() {                  // line 3
         //some code                       // line 4
         ...........                       // line 5
         ...........                       // line 6
      }                                    // line 7
   };                                      // line 8
                                           // line 9
   // Which thread invokes this line?      // line 10
   exampleThread.start();                  // line 11
                                           // line 12
   // Which thread invokes this line?      // line 13
   exampleThread.join();                   // line 14
}                                          // line 15

我认为main线程调用第11行

但是第14行呢?哪个线程正在调用它Main示例线程?你能解释一下吗


共 (1) 个答案

  1. # 1 楼答案

    主线程也会调用exampleThread.join()

    它所做的是阻止调用线程(这里的主线程),直到另一个线程(exampleThread)完成

    通常,指令序列总是由同一线程执行。另一个线程无法跳入并接管(但有可能多个线程同时运行相同的指令序列,即使是在同一个对象实例上)