<p>不熟悉python并尝试理解多线程。下面是关于<a href="http://docs.python.org/library/queue.html#module-Queue" rel="nofollow">Queue</a>的python文档中的一个示例</p>
<p>在我的生活中,我不明白这个例子是如何工作的。在worker()函数中,有一个无限循环。工人们怎么知道什么时候该离开这个圈子?似乎没有破坏条件。在</p>
<p>最后的连接到底在做什么?我不是应该加入线程吗?在</p>
<pre><code>def worker():
while True:
item = q.get()
do_work(item)
q.task_done()
q = Queue()
for i in range(num_worker_threads):
t = Thread(target=worker)
t.daemon = True
t.start()
for item in source():
q.put(item)
q.join() # block until all tasks are done
</code></pre>
<p>还有一个问题,什么时候应该使用多线程,什么时候应该使用多处理?在</p>