Мне нужно создать поток и позволить ему делать что-то. Основная причина заключается в том, чтобы как можно быстрее выйти из основной программы. Но после того, как я отсоединяю нить и заканчиваю основную программу, нить умирает. В моем примере файл не содержит ожидаемых данных. Если я позволяю основной программе спать в течение 5 секунд, все работает нормально.perl thread умирает после отсоединения
Как я могу запустить поток после выхода из основной проги?
use threads;
print "Starting main program\n";
my $t = threads->new(\&sub1)->detach();
print "End of main program\n";
sub sub1 {
print "started thread\n";
open (FILE, ">>./test.txt") or die($!);
print FILE localtime(time())."\n";
foreach (1..3){
print FILE "$_\n";
sleep 1;
}
close(FILE);
return 1;
}
Благодарим вас за быстрый ответ. Я думаю, что в моем случае я должен использовать что-то ilke system («prg_name.pl &»). – shipik