Seite 1 von 1

Warum tut das thread Modul nicht mehr???

Verfasst: Montag 14. Dezember 2009, 11:04
von stugi82
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?

Verfasst: Montag 14. Dezember 2009, 11:24
von jbs
Warum benutzt du nicht threading?

Verfasst: Montag 14. Dezember 2009, 11:29
von Masaru
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<<

Verfasst: Montag 14. Dezember 2009, 11:40
von stugi82
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.