Warum tut das thread Modul nicht mehr???

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
stugi82
User
Beiträge: 11
Registriert: Freitag 19. Oktober 2007, 14:16

Hallo,

ich versuche eben mit dem thread Modul etwas zu spielen.

Code: Alles auswählen

import thread

def function(parameter):
    print parameter

thread.start_new_thread(function, ("myParameter", ))
Komischer weise tut es nicht mehr:

Code: Alles auswählen

Unhandled exception in thread started by 
Error in sys.excepthook:

Original exception was:
Jemand ne Ahnung, woran das liegt?
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Warum benutzt du nicht threading?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

Hallo auch

ich vermute mal, Du startest den Code als Script (und nicht aus einer Interpreter-Console herraus).

Das Problem ist, dass Dein Script längst beendet ist, bevor die Funktion im Thread den "print" Befehl überhaupt raushauen konnte.

Wenn Du vor dem Programmausstieg eine kurze Wartezeit mittels time.sleep() integrierst, sollte es funktionieren:

Code: Alles auswählen

import thread
import time

def function(parameter):
    print parameter

thread.start_new_thread(function, ("myParameter", ))
time.sleep(1) # eventuell erhöhen
Gruß,
>>Masaru<<
Zuletzt geändert von Masaru am Montag 14. Dezember 2009, 12:37, insgesamt 1-mal geändert.
stugi82
User
Beiträge: 11
Registriert: Freitag 19. Oktober 2007, 14:16

Super Masaru! Das war's. Danke!

Ich weiß, dass man eigentlich thread nicht mehr verwenden sollte sondern threading. Ein erstelle halt grad eine kleine Präsentation und wollte es der Vollständigkeit halber erwähnen.
Antworten