Python 2.7 simultanées.les contrats à terme.ThreadPoolExecutor ne pas paralléliser

J'exécute le code suivant sur un Intel i3-machine avec 4 cœurs virtuels (2 hyperthreads/physique de base, 64bit) et Ubuntu 14.04 installé:

n = multiprocessing.cpu_count()
executor = ThreadPoolExecutor(n)
tuple_mapper = lambda i: (i, func(i))
results = dict(executor.map(tuple_mapper, range(10)))

Le code ne semble pas être exécutée dans un mode parallèle, puisque le PROCESSEUR est utilisé à seulement 25% en permanence. Sur l'utilisation du graphe seulement l'un des 4 cœurs virtuels est utilisé à 100% à un moment. L'utilisées sont des noyaux en alternance toutes les 10 secondes.

Mais la parallélisation fonctionne bien sur une machine serveur avec le même réglage du logiciel. Je ne connais pas le nombre exact de cœurs, ni le type de processeur, mais je sais pour sûr qu'il a plusieurs carottes et l'utilisation est à 100% et que les calculs ont une rapide accélération (10 fois plus rapide après l'utilisation de la parallélisation, fait quelques expériences avec elle).

Je l'espère, que la parallélisation serait de travailler sur mon ordinateur, et pas seulement sur le serveur.

Pourquoi n'est-il pas de travail? A-t-elle quelque chose à voir avec mes paramètres de système d'exploitation? Dois-je les changer?

Merci d'avance!

Mise à jour:
Pour le fond de renseignements, voir la bonne réponse ci-dessous. Par souci d'exhaustivité, je veux donner un exemple de code qui a résolu le problème:

tuple_mapper = lambda i: (i, func(i))
n = multiprocessing.cpu_count()
with concurrent.futures.ProcessPoolExecutor(n) as executor:
    results = dict(executor.map(tuple_mapper, range(10)))

Avant de le réutiliser prendre soin de toutes les fonctions que vous utilisez sont définies dans la partie supérieure au niveau d'un module comme décrit ici:
Python multitraitement de décapage de l'erreur

Essayez avec ProcessPoolExecutor. Pourrait être la GIL.
Intéressant, mais je suis toujours irrité par le fait que le serveur affiche 100% de l'utilisation avec et moins sans parallélisation, car il a le même logiciel logiciel de configuration. Je vais essayer vos conseils.

OriginalL'auteur Gerhard Hagerer | 2015-05-21