为什么在启动线程之前不可能使用.join()
?不应该暗示,如果我在线程上调用join(),即使以前未启动应该启动?Thread.join()(实例方法)
1
A
回答
6
因为join()
等待线程死亡,就像Javadoc说的那样;如果它还没有开始,它就不会死亡。
我不认为它应该启动一个线程,如果它没有启动,因为该方法会做两件事:启动一个线程并等待线程,这是不好的设计。
2
Acorrding到javadoc
join方法允许一个线程等待另一个完成。如果t
是一个Thread对象,它的线程当前执行,
t.join();
导致当前线程,直到T的线程终止暂停执行。连接过载允许程序员指定一个等待期。
因此,它清楚地告诉你,如果你加入一个线程,那么当前线程 将等待直到线程终止。所以如果一个线程不是 开始,但它如何终止。
反证法:d
说,你可以加入一个线程t
,而无需启动。那么你打电话
t.join();
现在根据连接当前线程的行为将等待。现在说一些邪恶的想法(!)出现在你的脑海中,而你还没有开始线程(:D)。现在会发生什么?想象一下这种情况,你会发现你的答案
相关问题
- 1. CountDownLatch的latch.await()方法vs Thread.join()
- 2. JDK实现Thread.join()
- 3. 调用实例方法的实例方法调用实例方法
- 4. 实例方法equals()
- 5. webapp实例方法
- 6. c#实例方法
- 7. Java实例方法
- 8. 取决于实例的实例方法
- 9. 访问类实例方法如实例方法
- 10. 方法,返回实例方法列表
- 11. Objective C - 类方法,实例方法
- 12. Mongoose'静态'方法与'实例'方法
- 13. Swift ....类方法与实例方法
- 14. 类方法和实例方法
- 15. 类方法vs实例方法
- 16. 类的实例方法?对象方法?
- 17. 类方法VS实例方法
- 18. 静态方法和实例方法C#
- 19. 网点和实例方法
- 20. 实例方法中的NSMutableString
- 21. 类方法实例范围?
- 22. 的ActionMailer实例方法
- 23. 实例方法:复数
- 24. 类和实例方法与
- 25. 方法的多个实例?
- 26. 方法:搜索类实例
- 27. 实例化泛型方法
- 28. 实例C覆盖方法#
- 29. 检查实例方法
- 30. C#重写实例方法
是的东西不存在,不值得等待。 –