我正在尝试了解线程,这让我思考。 请仔细看看以下内容 -
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
我认为主主题调用第11行。
但第14行呢?哪个线程正在调用它? 主要或 exampleThread ?你能解释一下吗?
答案 0 :(得分:1)
主线程也会调用exampleThread.join()
。
它的作用是阻塞调用线程(这里是主线程),直到另一个线程(exampleThread
)完成。
通常,一系列指令总是由同一个线程执行。其他线程无法跳入并接管(但有可能多个线程同时运行相同的指令序列,即使在同一个对象实例上也是如此)。