7-12join的问题
来源:7-12 join方法

慕工程9182859
2021-02-25
为什么有时候控制台先是线程2执行完毕而后再线程1执行完毕。
main函数不应该是走到threadOne.join(),等待线程1执行完毕再往下走吗?
写回答
2回答
-
主线程确实是等待线程1执行完毕再往下走,但是主线程并不控制线程1和线程2他们两个的相互顺序。
因为“"线程2执行完毕" ”和"线程1执行完毕" 是在子线程输出的,所以会出现你说的这种情况。
022021-02-25 -
慕工程9182859
提问者
2021-02-25
如果是main函数是走到threadOne.join(),等待线程1执行完毕再往下走这种情况的话,我让线程1休眠2秒,线程2休眠1秒。又每次都是线程2线打印执行完毕。
那既然这样我在threadOne.join()下加了一行打印"main函数等待线程1执行完毕",程序并没有像预想的那样打印“main函数等待线程1执行完毕”->"线程2执行完毕" -> "线程1执行完毕"。而是
00
相似问题