Très simple simultanées de la programmation en Python

J'ai un simple script Python qui utilise deux beaucoup plus compliqué de scripts Python, et fait quelque chose avec les résultats.

J'ai deux modules, Foo et Bar, et mon code est comme suit:

import Foo
import Bar

output = []

a = Foo.get_something()
b = Bar.get_something_else()

output.append(a)
output.append(b)

Ces deux méthodes prennent du temps à s'exécuter, et l'un ne dépend de l'autre, de sorte que la solution la plus évidente consiste à exécuter en parallèle. Comment puis-je réaliser cela, mais assurez-vous que la commande est maintenue: Selon l'une des finitions de première doit attendre que les autres pour terminer avant que le script puisse continuer.

Laissez-moi savoir si je n'ai pas fait moi-même assez clair, j'ai essayé de rendre le code d'exemple aussi simple que possible.

EDIT:

Merci Ambre, votre solution fonctionne avec une légère modification.

Au lieu d'appeler la méthode start() sur chaque fil quand il est créé, j'ai configurer comme suit:

threadname = threading.Thread(target=foo)
threadname.start()

Sans cela, j'ai été l'obtention de l'erreur AttributeError: 'NoneType' object has no attribute 'join' et certains très comportement bizarre avec la simultanéité. Si vous modifiez votre réponse ci-dessous, je vais le marquer comme résolu.

OriginalL'auteur Rory | 2012-05-07