Personen, die mit Android-Programmen vertraut sind, versuchen die Multithread-Verarbeitung mit Python

Wenn Sie Python noch nicht kennen und Java normalerweise auf Android programmieren, denken Sie möglicherweise: "Warum richten Sie keinen Thread ein, dann müssen Sie die Nachricht mit Handler bearbeiten?" Da es jedoch keine Python-kompatible Version gibt, war ich einen Moment besorgt. Dies ist ein Memo (kleine Geschichte) für Anfänger von Python.

Referenz: http://qiita.com/konnyakmannan/items/2f0e3f00137db10f56a7 http://qiita.com/tortuepin/items/69fa0a307ebf15348885

Das Folgende wurde ursprünglich mit Python2.7 entwickelt und hat eine Python2.7-Variante. (Ich versuche so viel wie möglich sechs zu verwenden)

Irgendwie ist es eine Korrespondenztabelle. (Es ist nur eine Tabelle, die mit einem Sinn geschrieben wurde und keine tiefe Bedeutung hat.)

Android Python Bemerkungen
Looper Keiner(mit while-Schleife)
Handler Queue In Python3 Warteschlange. sechs.moves.ok in der Warteschlange
notify threading.Event Android oder 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() #Benachrichtigt, dass die unmittelbar zuvor erhaltene Aufgabe abgeschlossen ist. Nicht erforderlich, wenn kein Join verwendet wird
    time.sleep(0.1)

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

while True:
  q.put("task")
  # q.join() #Mit Join in der Warteschlange für alle Elemente Aufgabe_done()Warten Sie, bis Sie fertig sind

Es ist wie es ist.

theading.Event

Wenn Sie nur warten möchten, verwenden Sie 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

Personen, die mit Android-Programmen vertraut sind, versuchen die Multithread-Verarbeitung mit Python
Links zu Personen, die gerade mit der Datenanalyse mit Python beginnen
Versuchen Sie, Facebook mit Python zu betreiben
Versuchen Sie, Farbfilme mit Python zu reproduzieren
An Menschen, die "rekrutieren, aber nicht rekrutieren"
Versuchen Sie, sich mit Python bei qiita anzumelden
Versuchen Sie, das Mensch-Maschine-Diagramm mit Python zu lösen
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Versuchen Sie, Python-Dokumente automatisch mit Sphinx zu generieren
Versuchen Sie, mit Python eine Diedergruppe zu bilden
[Python] Erwähnen Sie mit der Slack-API mehrere Personen
Versuchen Sie, Fische mit Python + OpenCV2.4 (unvollendet) zu erkennen.
Versuchen Sie es mit Python.
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Versuchen Sie, das Problem der Zuweisung von Schulungsärzten mit Python zu lösen
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
Ich möchte Leuten sagen, die mit Python direnv aus einem höheren Verzeichnis importieren möchten
Für diejenigen, die Python mit vim schreiben möchten
Für diejenigen, die neu in der Programmierung sind, sich aber entschieden haben, Daten mit Python zu analysieren
Maschinelles Lernen Eine Geschichte über Menschen, die mit GBDT in GBDT in Python nicht vertraut sind
Versuchen Sie, verschiedene Informationen anzuzeigen, die für das Debuggen mit Python nützlich sind
[AWS] Versuchen Sie, die Python-Bibliothek mit SAM + Lambda (Python) zur Ebene hinzuzufügen.
Versuchen Sie, ein Unterfenster mit PyQt5 und Python zu öffnen
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Es ist Halloween, also werde ich versuchen, es mit Python zu verstecken
Versuchen Sie, die verstümmelten Zeichen im angehängten Dateinamen mit Python zu entschlüsseln
Versuchen Sie, den Boden durch Rekursion herauszufordern
Stellen Sie mit Python eine Verbindung zu BigQuery her
Versuchen Sie, Python selbst zu verstehen
Probieren Sie die Python-Ausgabe mit Haxe 3.2 aus
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Versuchen Sie, Python mit Try Jupyter auszuführen
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
Versuchen Sie die Gesichtserkennung mit Python
Einführung in die Verwendung von Argparse für Side-Dresser mit möglichst geringem Aufwand
Versuchen Sie, eine Python-Umgebung mit Visual Studio Code & WSL zu erstellen
Versuchen Sie, mit Python3 eine Zeichenfolge aus einem Bild zu extrahieren
Versuchen Sie, Google Map und Geography Map mit Python anzuzeigen
Versuchen Sie, mit Python (1) eine Erfassungssoftware zu erstellen, die so genau wie möglich ist.
Versuchen Sie, den kürzesten Weg mit Python + NetworkX + Social Data zu lösen
Versuchen Sie, CloudWatch-Metriken mit der Python-Datenquelle re: dash abzurufen
Versuchen Sie, Ihrer IFC-Datei mit IfcOpenShell Python eine Wand hinzuzufügen
[Python] Versuchen Sie, Zeichen aus Bildern mit OpenCV und pyocr zu erkennen
Beginnen wir mit Python 3. ~ Für Kätzchen, die sich fragen, was sie als Hauptsprache wählen sollen ~
Versuchen Sie es mit Python + Beautiful Soup
Python: So verwenden Sie Async mit
[Python] Mit Python in eine CSV-Datei schreiben
Schön dich mit Python zu treffen
Versuchen Sie die Singularwertzerlegung mit Python
Ausgabe in eine CSV-Datei mit Python
Versuchen Sie, sich mit ONNX Runtime zu profilieren
Konvertieren Sie die Liste mit Python in DataFrame
MP3 → WAV-Konvertierung mit Python
Schwanzrekursion mit Python2 durchführen
Versuchen Sie, Trace in Python zu berechnen