Thread eval stoppen
(16 answers)
Opened by Gast at 2006-11-29 17:33 Quote join() ist dafür da um den Rückgabewert eines Threads auszulesen. Wenn der Thread noch nicht beendet wurde, bockiert join solange bis ein Rückgabewert vorhanden ist. Mit detach() sagst du das der Rückgabewert letztendlich Verworfen werden soll wenn der Thread fertig ist. Daher du sparst dir das Manuelle aufrufen von join(). Kannst dann aber auch nicht mehr den Rückgabewert auslesen. Der Thread selber läuft schon nachdem du "threads->new()" aufgerufen hast. Ansonsten fällt mir zur Zeit nur eine Möglichkeit mit SIGALRM ein um einen Codeabschnitt nach einer bestimmten Zeit abbrechen zu lassen. Das Codeschnipel hier unten gibt einen 5 Sekunden Zeit für eine Eingabe und bricht nach der Zeit ab. Code: (dl
)
1 #!/usr/bin/perl Das ganze kannst du sicherlich auch mit fork() koppeln. Wie gut das alles mit threads funktioniert weiß ich nicht. Und wie gut das ganze auch noch innerhlab einer GUI läuft kann ich noch weniger sagen.\n\n <!--EDIT|sid burn|1164819151--> Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|