Seite 1 von 1

Threads

Verfasst: Mittwoch 16. August 2006, 08:21
von gorba
Hallo

Ich habe ein "Hauptprogramm" in dem ich z.B. die Serielle Schnittstelle öffne. Wie kann ich nun den Handler der Schnittstelle in meinen Timer Thread bekommen? Mit Parameterübergaben klappt das irgendwie nicht. Kann in den Handler in eine Modulglobale Variable ablegen und dann im Thread darauf zugreifen?

Danke schonmal für eure Hilfe. grz

Verfasst: Mittwoch 16. August 2006, 12:31
von Python 47
Einen neuen Thread kannst du wie folgt machen:

Du hast eine Funktion, die als selbständiger Process laufen soll. Die Funktion lautet z.B. schnittstelle dann machst du folgendes:

Code: Alles auswählen

import thread

def thread_schnittstelle():
   start_new_thread(schnittstelle, (parameter)) 
   """start_new_thread übernimmt 2 Argumente. Das 1. Argument ist der    
       Name der Funktion, die als eigenständiger Prozess laufen soll und 
       das 2. Argument sind die Parameter der Funktion"""
Ich hoffe das war jetzt einigermaßen gut erklärt. Aber poste am besten mal deinen Code :wink:

Verfasst: Mittwoch 16. August 2006, 13:15
von birkenfeld
Entweder "from thread import start_new_thread" und dann "start_new_thread(...)"
oder "import thread" und dann "thread.start_new_thread(...)".

Außerdem sollte man sich das Modul "threading" anschauen.

Verfasst: Mittwoch 16. August 2006, 13:23
von gorba
oke das hat geholfen. Thx

Verfasst: Mittwoch 16. August 2006, 16:09
von Python 47
birkenfeld hat geschrieben:Entweder "from thread import start_new_thread" und dann "start_new_thread(...)"
oder "import thread" und dann "thread.start_new_thread(...)".
Jop hast natürlich vollkommen recht! :lol:
War grade erst aufgestanden. :P