[PYTHON] À propos du comportement de la file d'attente pendant le traitement parallèle

Utilisez parallel

test.py


#!/usr/bin/python

import parallel
from Queue           import Queue as Q1
from multiprocessing import Queue as Q2

q1 = Q1()
q2 = Q2()

for i in xrange(6):
    q1.put(i)
    q2.put(i)

def worker(q1, q2):
    print '%6d %6d' % (q1.get(), q2.get())

#--- THREADING
print '\n--- thread ---'
print ' Queue1 Queue2'
print '--------------'
parallel.thread(worker, [q1, q2], 3)

#--- MULTIPROCESS
print '\n--- multiprocess ---'
print ' Queue1 Queue2'
print '--------------------'
parallel.multiprocess(worker, [q1, q2], 3)

résultat

--- thread ---
 Queue1 Queue2
--------------
     0      0
     1      1
     2      2

--- multiprocess ---
 Queue1 Queue2
--------------------
     3      3
     3      4
     3      5

Conclusion

Utiliser la file d'attente multitraitement

Recommended Posts

À propos du comportement de la file d'attente pendant le traitement parallèle
À propos du comportement de yield_per de SqlAlchemy
Traitement parallèle avec Parallel de scikit-learn
À propos du comportement de la file d'attente pendant le traitement parallèle
Traitement parallèle avec multitraitement
Divers traitements de Python
Une note sur le comportement de bowtie2 lors de plusieurs coups
À propos de la file d'attente
A propos du comportement de enable_backprop de Chainer v2
À propos du comportement de copy, deepcopy et numpy.copy
À propos de la vitesse de traitement de SVM (SVC) de scikit-learn
Traitement parallèle avec Parallel de scikit-learn
À propos des fonctionnalités de Python
À propos de la valeur de retour de pthread_mutex_init ()
À propos du type de base de Go
À propos de la limite supérieure de threads-max
À propos de la taille des points dans matplotlib
À propos du traitement des demi-teintes couleur des images
À propos de la liste de base des bases de Python
Redémarrez le serveur pendant le traitement Fabric
Vérifiez le comportement du destroyer en Python
Parlons de la courbe de tonalité du traitement d'image ~ LUT est incroyable ~
À propos de l'environnement virtuel de Python version 3.7
A propos des arguments de la fonction setup de PyCaret
Recevez une liste des résultats du traitement parallèle en Python avec starmap
À propos de l'équation normale de la régression linéaire
L'histoire du traitement A du blackjack (python)
A propos des principales tâches de traitement d'image (vision par ordinateur) et de l'architecture utilisée
À propos de la précision de la méthode de calcul du rapport de circonférence d'Archimède
Afficher le résultat du traitement de la géométrie en Python
Le comportement de signal () dépend de l'option de compilation
Écrire une note sur la version python de python virtualenv
Traitement d'image? L'histoire du démarrage de Python pour
J'ai vérifié la vitesse de traitement de la numpy unidimensionnelle
À propos du contenu de développement de l'apprentissage automatique (exemple)
[Note] À propos du rôle du trait de soulignement "_" en Python
Visualisez le comportement de l'algorithme de tri avec matplotlib
Comportement de multiprocessing.pool.Pool.map
Un mémorandum sur les avertissements dans les résultats de sortie de pylint
Jetez un œil au traitement de LightGBM Tuner
Pensez à la nouvelle génération de Rack et WSGI
À propos des tests dans la mise en œuvre de modèles d'apprentissage automatique
À propos de l'inefficacité du transfert de données dans luigi on-memory
Examiner le traitement de fermeture de l'ensemble de données Python (wrapper SQLAlchemy)
À propos de l'ordre épuré dans l'ordre d'importation flake8
Une histoire sur le changement du nom principal de BlueZ
Notes personnelles sur l'intégration de vscode et anaconda
Un mémorandum sur la mise en œuvre des recommandations en Python
Confirmé la différence de présence ou d'absence de traitement aléatoire lors de l'apprentissage par mini-lots avec chainer