Поскольку «отсоединить» не делает то, что вы ожидаете. Отдельные потоки прекращаются, когда программа выходит. From the docs...
$ Thr-> открепление()
Делает нить несоединимое, и вызывает любое возможное возвращаемое значение будет отбрасываются. Когда программа выходит, любые отсоединенные потоки, которые все еще работают, молча завершаются.
Вы должны были получить такое сообщение.
Perl exited with active threads:
1 running and unjoined
0 finished and unjoined
0 running and detached
Вместо отсоединения вы должны подождать, пока все потоки не будут завершены в конце вашей программы.
for my $thread (threads->list(threads::running)) {
$thread->join;
}
Если все, что вы хотите, чтобы сделать параллельные запросы HTTP, нет необходимости для потоков. LWP::Parallel, вероятно, будет более эффективным.
Почему вы используете 'threads'. – ssr1012
Мне нужно запустить этот скрипт для множественного URL-адреса в то же время –