【Java并发编程】Join
2017-07-02 16:32
190 查看
Thread的join方法,是一个挺可爱而且形象的名字,“加入”。既然是加入,那么这个方法一定不是用在单单一个线程上的。一方加入另一方至少需要两个线程。事实上,join这个方法涉及到线程之间协作的。
比如有两个线程Thread1和Thread2,我们启动了两个线程,如果我们在Thread1运行的过程中,在Thread1的线程中调用了Thread2的join方法,那么Thread1将暂停执行,直到Thread2的线程任务全部执行完成后才继续执行。join方法也是一个耗时的操作,如上一篇interrupt所述,该方法也抛出InterceptException异常。所以刚刚所说的应该补充一下:直到Thread2的线程任务全部执行完或者是抛出了join方法抛出了中断异常,Thread1才会继续执行。
比如有两个线程Thread1和Thread2,我们启动了两个线程,如果我们在Thread1运行的过程中,在Thread1的线程中调用了Thread2的join方法,那么Thread1将暂停执行,直到Thread2的线程任务全部执行完成后才继续执行。join方法也是一个耗时的操作,如上一篇interrupt所述,该方法也抛出InterceptException异常。所以刚刚所说的应该补充一下:直到Thread2的线程任务全部执行完或者是抛出了join方法抛出了中断异常,Thread1才会继续执行。
相关文章推荐
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) (r)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- 《Java 7 并发编程指南》学习概要 (6) Fork/Join
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- Java并发编程核心方法与框架-Fork-Join分治编程(一)
- 【Java并发编程】Fork/Join
- 【Java并发编程】Fork/join 并发编程模型,让多核cpu发挥最大优势。
- Java并发编程核心方法与框架-Fork-Join分治编程(二)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)(转)
- 【Java并发编程的艺术】【学习笔记】ThreadLocal与Fork/Join
- Java并发编程之volatile、synchronized、yield、join
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- 《Java 7 并发编程指南》学习概要 (1)join、daemon、UncaughtExceptionHandler 、中断
- java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)