Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re^2: Using Tk::ProgressBar

by Courage (Parson)
on Oct 28, 2005 at 10:25 UTC ( #503616=note: print w/replies, xml ) Need Help??

in reply to Re: Using Tk::ProgressBar
in thread Using Tk::ProgressBar

using threads for GUI for Tk is very wrong. Achieve nothing, and will render program unstable.
Yet, threads in perl are unusable.

Replies are listed 'Best First'.
Re^3: Using Tk::ProgressBar
by zentara (Archbishop) on Oct 28, 2005 at 12:31 UTC
    Threads and Tk,are NOT wrong, but they have to be done with alot of care. You cannot mix Tk code across threads, and all threads must be created before any Tk code is invoked in the main thread. See Tk-with-worker-threads or this simple example:
    #!/usr/bin/perl use strict; use threads qw[ async ]; use threads::shared; our $WORKMAX ||= 1_000; #by BrowserUk ## A shared var to communicate progess between work thread and TK my $progress : shared = 0; sub work { for my $item ( 0 .. $WORKMAX ) { { lock $progress; $progress = ( $item / $WORKMAX ) * 100; } select undef, undef, undef, 0.001; ## do stuff that takes t +ime } } threads->new( \&work )->detach; ## For lowest memory consumption require (not use) ## Tk::* after you've started the work thread. require Tk::ProgressBar; my $mw = MainWindow->new; my $pb = $mw->ProgressBar()->pack(); my $repeat; $repeat = $mw->repeat( 100 => sub { print $progress; $repeat->cancel if $progress == 100; $pb->value($progress); } ); $mw->MainLoop;

    I'm not really a human, but I play one on earth. flash japh

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://503616]
[Corion]: Maybe I should do the Filter::Simple release on the next weeked - this would give me one more article to milk from this theme
[Corion]: Oooh. I should write me a "diff" tool that looks at what modules are published on Github but not on CPAN ;)

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (10)
As of 2017-04-24 09:01 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (437 votes). Check out past polls.