Я не понимаю эту часть документа по многопроцессорности (python.org ) и цитирую:
«Пример, который приведет к тупику, следующий:
from multiprocessing import Process, Queue
def f(q):
q.put('X' * 1000000)
if __name__ == '__main__':
queue = Queue()
p = Process(target=f, args=(queue,))
p.start()
p.join() # this deadlocks
obj = queue.get()
«Во-первых, почему он блокируется? И, что более удивительно, он отлично работает, когда я пробую с некоторыми меньшими значениями, чем 1000000 в определении f (он работает с 10,100,1000,10000, но не с 100000).
Большое спасибо за твою помощь !