Hallo,
Ich habe zwei Fragen zu threading:
1. Wie kann ich aus einem Thread heraus den Mainthread beenden?
2. Wenn ich bei einem Thread den 'daemon flag' setzte und dann meine Hauptprogramm beende, während der Thread z.B. gerade in eine Datei schreibt, wird diese dabei zerstört, oder?
Schon mal Danke, für eure Antworten!
Zwei Fragen zu threading
ad 1.) Beenden eines Threads durch einen zweiten Thread wird im allgemeinen Fall nicht unterstützt. Du kannst allerdings dem Main-Thread eine KeyboardInterrupt-Excpetion schicken. Siehe: http://docs.python.org/lib/module-thread.html#l2h-2692
ad 2.) Das Schicksal einer Datei, in die geschrieben wird, hängt stark davon ab, wie du schreibst. Fileobjekte haben eine flush-Methode, welche das schreiben erzwingt. Das verhindert allerdings nicht, das zuviel geschrieben wird.
Wann eine Datie zerstört ist, wird durch das Dateiformat definiert, kann also im allgemeinen Fall nicht beantwortet werden.
ad 2.) Das Schicksal einer Datei, in die geschrieben wird, hängt stark davon ab, wie du schreibst. Fileobjekte haben eine flush-Methode, welche das schreiben erzwingt. Das verhindert allerdings nicht, das zuviel geschrieben wird.
Wann eine Datie zerstört ist, wird durch das Dateiformat definiert, kann also im allgemeinen Fall nicht beantwortet werden.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi HarryH!HarryH hat geschrieben:wie fange ich die KeyboardInterrupt-Excpetion in meinem Hauptprogramm ab?
Nur so als Hinweis
Code: Alles auswählen
>>> import exceptions
>>> try:
... raise exceptions.KeyboardInterrupt("Hallo")
... except exceptions.KeyboardInterrupt, data:
... print data
...
Hallo
>>>
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.