Python Multitraitement Processus ou de la Piscine pour ce que je suis en train de faire?

Je suis nouveau sur le multitraitement en Python et à essayer de comprendre si je dois utiliser la Piscine ou le Processus par lequel deux fonctions asynchrones. Les deux fonctions que j'ai faites curl appels et analyser l'information en 2 listes distinctes. En fonction de la connexion internet, chaque fonction peut prendre environ 4 secondes. Je me rends compte que le goulot d'étranglement est la connexion internet et le multitraitement de ne pas accélérer beaucoup, mais il serait sympa de les avoir à la fois le coup d'envoi asynchrone. De Plus, c'est une excellente expérience d'apprentissage pour moi de le faire en python multi-traitement parce que je vais l'utiliser plus tard.

J'ai lu Python multiprocessing.Piscine: utilisation s'appliquent, apply_async ou de la carte? et il était utile, mais encore a mes propres questions.

D'une manière que je pourrais le faire est:

def foo():
    pass

def bar():
    pass

p1 = Process(target=foo, args=())
p2 = Process(target=bar, args=())

p1.start()
p2.start()
p1.join()
p2.join()

Questions que j'ai pour cette mise en œuvre est:
1) Depuis rejoindre les blocs jusqu'à ce que le processus appelant est terminé...est-ce à dire p1 processus avant la fin de la p2 processus est démarré? J'ai toujours compris l' .join() sera la même que la piscine.appliquer() et de la piscine.apply_sync().get() où le processus parent ne peut pas lancer un autre processus(tâche) jusqu'à l'actuel, la course est terminée.

L'autre alternative serait quelque chose comme:

def foo():
    pass

def bar():
    pass
pool = Pool(processes=2)             
p1 = pool.apply_async(foo)
p1 = pool.apply_async(bar)

Questions que j'ai pour cette mise en œuvre serait:
1) ai-je besoin d'une piscine.close(), piscine.join()?
2) Serait de la piscine.map (), ce sont tous complets avant que je puisse obtenir des résultats? Et si oui, sont-ils encore couru asynch?
3) Comment la piscine.apply_async() diffèrent de faire de chaque processus avec piscine.appliquer()
4) Comment serait-ce différent de la précédente mise en œuvre de Processus?

InformationsquelleAutor dman | 2013-08-11