Salve,
volevo provare a iniziare un thread all'interno di uno script. Lo scopo del thread è quello di incrementare ogni secondo il valore della stringa di 1 e aggiornare il suddetto dato in una text label in una finestra creata con Tk:
codice:
#!/wperl
use strict;
use warnings;
use Tkx;
use threads;
use threads::shared;
my $k : shared = 0;
my $mw = Tkx::widget->new(".");
$mw->g_wm_title('Hello World!');
$mw->g_wm_geometry("400x250-5+5");
my $mf = $mw->new_ttk__frame();
$mf->g_grid();
my $la = $mf->new_ttk__label(-textvariable => \$k);
$la->g_grid();
my $thr = threads->new(\&_sub1);
$thr->detach();
Tkx::MainLoop();
sub _sub1 {
while(1)
{
$k = $k + 1; sleep 1;
}
}
__END__;
Tuttavia, il valore viene aggiornato solo la prima volta...
Non saprei dove sbaglio