Threads

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gorba
User
Beiträge: 100
Registriert: Freitag 28. Juli 2006, 14:58

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
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

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:
mfg

Thomas :-)
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

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.
gorba
User
Beiträge: 100
Registriert: Freitag 28. Juli 2006, 14:58

oke das hat geholfen. Thx
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

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
mfg

Thomas :-)
Antworten