laixintao/python-parallel-programming-cookbook-cn

关于第二章第三节最后部分讨论

DelbertTse opened this issue · 1 comments

首先感谢大佬的工作,谢谢!
然后关于join方法,我的理解是join阻塞调用子线程的主线程,子线程执行结束,主线程才会结束,而不是继续执行,所以运行的程序并不一定是01234,不知道这样的理解是否正确。

你的理解部分正确

Wait until the thread terminates. This blocks the calling thread until the thread whose join() method is called terminates – either normally or through an unhandled exception – or until the optional timeout occurs.

线程调用 .join() 之后,父线程会 block 住,直到子线程结束。所以书中的代码永远是一个线程执行结束才去执行下一个线程的。执行的顺序永远是 01234。

文档:https://docs.python.org/3/library/threading.html#threading.Thread.join