laixintao / python-parallel-programming-cookbook-cn

📖《Python Parallel Programming Cookbook》中文版
http://python-parallel-programmning-cookbook.readthedocs.io/
1.49k stars 93 forks source link

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

Closed DelbertTse closed 5 years ago

DelbertTse commented 5 years ago

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

laixintao commented 5 years ago

你的理解部分正确

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