Les personnes familiarisées avec les programmes Android essaient le traitement multi-thread avec Python

Si vous êtes nouveau dans Python et programmez généralement Java sur Android, vous pourriez penser: "Pourquoi ne pas configurer un thread, alors vous devez gérer le message avec Handler?" Cependant, il n'y a pas de version compatible Python, donc j'étais inquiet pendant un moment. Ceci est un mémo (petite histoire) pour les débutants de Python.

référence: http://qiita.com/konnyakmannan/items/2f0e3f00137db10f56a7 http://qiita.com/tortuepin/items/69fa0a307ebf15348885

Ce qui suit est celui qui a été initialement développé avec Python2.7 et a une saveur Python2.7. (J'essaye d'en utiliser six autant que possible)

En quelque sorte, c'est une table de correspondance. (C'est juste un tableau écrit avec un sens, et il n'a pas de sens profond.)

Android Python Remarques
Looper Aucun(avec boucle while)
Handler Queue Dans Python3, faites la queue. six.moves.ok dans la file d'attente
notify threading.Event Android ou Java

Queue

http://docs.python.jp/2/library/queue.html

import six.moves.queue as queue
import six.moves._thread as thread
import time


def target(q):
  while True:
    print "loop"
    print q.get()
    # q.task_done() #Indique que la tâche obtenue immédiatement avant est terminée. Non requis si la jointure n'est pas utilisée
    time.sleep(0.1)

q = queue.Queue()
thread.start_new_thread(target, (q,))

while True:
  q.put("task")
  # q.join() #Avec rejoindre, dans la file d'attente, pour tous les éléments, tâche_done()Attendez d'être fait

C'est comme ça.

theading.Event

Si vous voulez juste attendre, utilisez theading.Event.

import threading
import six.moves._thread as thread
import six
import time


def target(event):
  for cnt in six.moves.range(0, 10):
    print "loop:", cnt
    time.sleep(0.1)
  event.set()

event = threading.Event()
thread.start_new_thread(target, (event,))
event.wait()
print "done"

Recommended Posts

Les personnes familiarisées avec les programmes Android essaient le traitement multi-thread avec Python
Liens vers des personnes qui commencent tout juste l'analyse de données avec python
Essayez d'exploiter Facebook avec Python
Essayez de reproduire un film couleur avec Python
Aux personnes qui «recrutent mais ne recrutent pas»
Essayez de vous connecter à qiita avec Python
Essayez de résoudre le diagramme homme-machine avec Python
Essayez de dessiner une courbe de vie avec python
Essayez de créer un code de "décryptage" en Python
Essayez de générer automatiquement des documents Python avec Sphinx
Essayez de créer un groupe de dièdre avec Python
[Python] Mention à plusieurs personnes avec l'API de Slack
Essayez de détecter les poissons avec python + OpenCV2.4 (inachevé)
Essayez de gratter avec Python.
Faisons un outil de veille de commande avec python
Essayez de résoudre le problème d'affectation du médecin de formation avec Python
Essayez le fonctionnement de la base de données avec Python et visualisez avec d3
Je veux dire aux gens qui souhaitent importer depuis un répertoire supérieur avec Python direnv
Pour ceux qui veulent écrire Python avec vim
Pour ceux qui débutent en programmation mais qui ont décidé d'analyser les données avec Python
Apprentissage automatique Une histoire sur des personnes qui ne sont pas familiarisées avec GBDT utilisant GBDT en Python
Essayez d'afficher diverses informations utiles pour le débogage avec python
[AWS] Essayez d'ajouter la bibliothèque Python à la couche avec SAM + Lambda (Python)
Essayez d'ouvrir une sous-fenêtre avec PyQt5 et Python
Essayez d'automatiser le fonctionnement des périphériques réseau avec Python
C'est Halloween donc je vais essayer de le cacher avec Python
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Essayez de défier le sol par récursif
Connectez-vous à BigQuery avec Python
Essayez de comprendre Python soi
Essayez la sortie Python avec Haxe 3.2
Connectez-vous à Wikipedia avec Python
Publiez sur Slack avec Python 3
Essayez d'exécuter Python avec Try Jupyter
Basculer python vers 2.7 avec des alternatives
Écrire en csv avec Python
Essayez la reconnaissance faciale avec Python
Présentation de l'utilisation d'argparse pour les personnes décontractées avec le moins d'effort possible
Essayez de créer un environnement python avec Visual Studio Code et WSL
Essayez d'extraire une chaîne de caractères d'une image avec Python3
Essayez d'afficher la carte google et la carte géographique avec python
Essayez de créer un logiciel de capture aussi précis que possible avec python (1)
Essayez de résoudre l'itinéraire le plus court avec les données sociales Python + NetworkX +
Essayez d'obtenir des métriques CloudWatch avec la source de données python re: dash
Essayez d'ajouter un mur à votre fichier IFC avec IfcOpenShell python
[Python] Essayez de reconnaître les caractères des images avec OpenCV et pyocr
Commençons avec Python 3. ~ Pour les chatons qui se demandent quoi choisir comme langue principale ~
Essayez de gratter avec Python + Beautiful Soup
Python: comment utiliser async avec
[Python] Ecrire dans un fichier csv avec Python
Ravi de vous rencontrer avec python
Essayez la décomposition de valeurs singulières avec Python
Sortie vers un fichier csv avec Python
Essayez de profiler avec ONNX Runtime
Convertir la liste en DataFrame avec python
Conversion MP3 → WAV avec Python
Pour faire une récursion avec Python2
Essayez de calculer Trace en Python