Ich bin ein Anfänger in Python und Multiprocessing, also wenn die Frage naiv erscheint bitte verzeih mir. Ich habe zwei Funktionen, die ich gleichzeitig ausführen möchte. Eines ist eine openCV-Implementierung der Gesichtserkennung und das andere ist ein Standard-Python-Code.Parallelverarbeitung auf Python
def main():
does(s) # a function call
def face():
recog.main() #another call
Wie Sie erraten, beide Funktionen sind die endgültigen Endbenutzer-Funktionen, die eine um die Aufgabe zu implementieren zu nennen hat. Ich möchte, dass sie beide gleichzeitig laufen.
Vorherige Antworten zu diesem Thema beraten Threading-Modul, aber ich habe es ausprobiert und es funktioniert nicht. Die erste Funktion. gerufen werden, wird zuerst und dann der zweite ausgeführt. Ein Freund von mir empfahl Rospy-Modul. Ist es der einzige Weg? Danke im Voraus.
EDIT: In der Antwort auf diese Frage, Make 2 functions run at the same time, hat ein Benutzer geschrieben, dass tatsächlich Einfädeln nicht zwei Funktionen gleichzeitig ausführen machen
* Vorherige Antworten zu diesem Thema beraten Threading-Modul, aber ich habe es versucht und es funktioniert nicht * Was haben Sie versucht, ein [MCVE]. Werfen Sie auch einen Blick auf [Dead einfaches Beispiel für die Verwendung von Multiprocessing Queue, Pool und Sperren] (http://stackoverflow.com/q/20887555) –
thread.start_new_thread (main()) thread.start_new_thread (Gesicht()) Dies führt nicht beide gleichzeitig. Stattdessen beendet sie eins nach dem anderen. Ich habe versucht Threading-Modul http://www.tutorialspoint.com/python/python_multithreading.htm Aber das Ergebnis war das gleiche. – Spock
Wenn Sie ROS trotzdem nicht verwenden, verwenden Sie rospy nicht, nur um Dinge parallel zu betreiben. Dies ist nicht, wofür es gedacht ist und es wird Ihnen eine unnötige Abhängigkeit von ROS geben. – luator