该join
方法有什么作用?
如:
def thread = Thread.start { println "new thread" }
thread.join()
即使没有该join
语句,此代码也可以正常工作。
该join
方法有什么作用?
如:
def thread = Thread.start { println "new thread" }
thread.join()
即使没有该join
语句,此代码也可以正常工作。
与在 Java 中所做的相同 - 它导致调用 join
的线程阻塞,直到被调用的Thread
对象所代表的线程join
终止。
println
如果在生成新线程后让主线程执行其他操作(例如 a ),您可以看到不同之处。
def thread = Thread.start {
sleep(2000)
println "new thread"
}
//thread.join()
println "old thread"
如果没有join
这个 println 可能会在另一个线程仍在运行时发生,所以你会得到old thread
,两秒钟后跟着new thread
. 主join
线程必须等到另一个线程完成,所以你会在两秒钟内什么也得不到,然后new thread
,然后old thread
。