Sixtease has asked for the wisdom of the Perl Monks concerning the following question:
Hello friends,
I'm making a Tk-based application, where I want the main window to be responsive, while its parts are being filled with images. I thought I'd fill the appropriate frame with the images in a separate thread but I read that it is better to not share objects.
So, I thought I'd prepare the image data in a separete thread, fill it to a shared scalar variable and then somewhow let the main thread know that it can add the image to the frame.
And here is the problem -- how to let the main thread know? In documentation about threads, I read how to wait for a thread to finish but that's exactly what I do not want to do - I want the main window to do its MainLoop, not wait, that's why I'm using threads. :-) I tried sending signals to myself (kill 'USR1', $$) but that doesn't seem to work well. Subsequent signals are not delivered or cause a segfault when they come faster than they are being dispatched.
I'm sure I'm not in a new situation... I'm probably missing something obvious. Could you direct me?
~ Sixtease
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to not wait for a thread
by renodino (Curate) on Oct 25, 2007 at 19:33 UTC | |
by Sixtease (Friar) on Oct 25, 2007 at 20:03 UTC | |
|
Re: How to not wait for a thread
by zentara (Cardinal) on Oct 25, 2007 at 19:35 UTC |