There's more than one way to do things | |
PerlMonks |
Re: Keeping the user informed: A Tk/Threads questionby Joost (Canon) |
on Jul 07, 2004 at 14:45 UTC ( [id://372401]=note: print w/replies, xml ) | Need Help?? |
Good question. If you can spread your processing in smaller bits and you can get the smaller bits called from the MainLoop, everything will work. The way I do it in one application is that I build my own MainLoop:
I did this, because my processing was not easily adjusted into the normal Tk::Eventloop processing and it needed to be called a lot ("live" 44Kz audio stream processing, with 100 samples per process_a_bit call) If you want to go this route, you want to adjust the timing of the select() and process_a_bit() calls until your GUI and processing run fast enough, and it doesn't lock up the whole machine when there is no processing being done :-) Alternatively, if you're able to run your processing based on file events or signals, you can take a look at the Tk::Eventloop documentation for registering extra events in the normal MainLoop. Oh yes, and you want something like Tk::ProgressBar but you probably know that already :-)
In Section
Seekers of Perl Wisdom
|
|