Thread Thread aus Tk-GUI heraus beenden (16 answers)
Opened by DonKnilch at 2009-10-19 16:09

Kalle
 2009-10-21 00:11
#127189 #127189
User since
2007-03-18
48 Artikel
BenutzerIn
[default_avatar]
Tk ist anscheinend immer noch nicht thread safe. Um Tk und Threads gemeinsam zu benutzen, musst du ein paar Dinge beachten.
Nach etwas googeln fand ich eine sehr hilfreiche Aussage eines zentara bei den perlmonks:

Zitat:
Quote
Tk is not thread safe, but you can use threads with it with precautions.

1. The thread must be created before any Tk widgets are invoked. You violate that rule by creating the thread in a button callback.

2. Do not put any Tk code into the thread, and do not try to access Tk widgets from the thread. Use shared variables to communicate with the main thread, and have a timer or fileevent in the main Tk thread, read from the thread.

Beispielcode folgt dann noch im Anschluss. Ganzer Thread: http://www.perlmonks.org/?node_id=732294


Vor 3 oder 4 Jahren hatte ich schonmal versucht meinem Langzeitprojekt ein wenig Parallelverarbeitung beizubringen...es wollte aber nicht so wie ich es gerne hätte. Dein Post hat mich veranlasst mal wieder ein bissel zu testen und hab deshalb eine kleine GUI erstellt, mit der ich anscheinend problemlos per Button jede Menge Threads erstellen und auch wieder beenden konnte. Doch treten seltsame Phänomene auf, sobald Threadobjekte aus dem parent gelöscht werden ('blabla...TK_RESULT... und vor allem 'free to wrong pool...during global destruction).

Gruß

Kalle

View full thread Thread aus Tk-GUI heraus beenden