[ misa vranje @ 09.04.2005. 04:40 ] @
Ubijanje niti mi ne funkcionise bash najbolje kada koristim Tk.Sledeci kod ne radi to sto sam ja ocekivao,a to je da nit2 ubije nit1:

#!/usr/bine/perl -w
use strict;
use threads;
use threads::shared;
use Tk;

my $main=new MainWindow;
my $list=&share({});
$list=$main->Listbox(-height=>6)->pack;
my @niz=('perl','program','linux','unix','bla','bla');
$list->insert('end',@niz);
my $nit1=&share({});
$nit1=threads->create(\&nit1);
threads->create(\&nit2);
sub nit1{
print "Usao sam u nit1 \n";
sleep 2;#u ovom trenutku bi nit1 trebala da bude
$list->delete(0,'end');#ubijena od strane niti2
$list->insert('end','nit1','je prezivela');
print "izasao sam iz niti1 \n";
}
sub nit2{
print "Ehej u niti2 sam trenutno\n";
$nit1->detach;#sada treba da se ubije nit1
print "Izasao sam iz niti2\n";
}
MainLoop

#kada ne koristim Tk sve lepo funkcionise.
Problem nije u deljenju promenljive $nit1 jer kada umesto $nit1->detach; ubacim $nit1->join sve se lepo izvrsi(nit2 saceka nit1 da se zavrsi).
Sta da radim?