Bonjour,
Pour lancer plusieurs proc, au lieu de lancer DANS plusieurs fenetres DOS mon proc, je fais des threads
J'ai l'impression qu'il prendre un peu plus de temps (par rapport à l'excéution sur fenetres DOS) et surtout il y a une erreur que je ne comprends pas trop
"A thread exited while 3 threads were running"
PS: '3' est un exemple, ça peut 2,4.....
#!/usr/bin/perl -w
use threads;
my($thr1);
$thr1 = threads->new(\&sub1, "Param 1","1.txt");
$thr1 = threads->new(\&sub1, "Param 2","2.txt");
$thr1 = threads->new(\&sub1, "Param 3","3.txt");
$thr1 = threads->new(\&sub1, "Param 4","4.txt");
$thr1 = threads->new(\&sub1, "Paraaaaa","5.txt");
@DonneesRenvoyees = $thr1->join;
print "Le thread a renvoyé @DonneesRenvoyees";
#***************************************************************************
sub sub1 {
my ($num,$fileO) = @_;
open(FILEIN,">$fileO") ;
if ($num eq "Paraaaaa"){
return ("ERREUR FICHIER");
}
for( my $i=0; $i<=10000; $i+=1 ){
#print ("Dans le thread : ".$num.":".$i."===".$toto."\n");
print (FILEIN "Dans le thread : ".$num.":".$i."\n");
}
close(FILEIN);
return ("FIN OK");
}
}
savez vous pourquoi ?
Merci
Cathy
Partager