Я пытаюсь изучить многопроцессорность Python.Пример документации по многопроцессорной обработке Python
http://docs.python.org/2/library/multiprocessing.html на примере «Для того, чтобы показать идентификаторы индивидуальный процесс вовлекаются, вот расширенный пример:»
from multiprocessing import Process
import os
def info(title):
print title
print 'module name:', __name__
if hasattr(os, 'getppid'): # only available on Unix
print 'parent process:', os.getppid()
print 'process id:', os.getpid()
def f(name):
info('function f')
print 'hello', name
if __name__ == '__main__':
info('main line')
p = Process(target=f, args=('bob',))
p.start()
p.join()
Что именно я смотрю? Я вижу, что def f (name): вызывается после того, как информация («главная строка») завершена, но этот синхронный вызов будет по умолчанию в любом случае. Я вижу, что одна и та же информация о процессе («главная строка») является родительским PID def f (name): но не уверен, что такое «многопроцессорность».
Кроме того, with join() «Заблокировать вызывающий поток до тех пор, пока процесс, метод join() не будет завершен». Я не понимаю, на что будет направленный поток. В этом примере, что бы join() блокировать?