многопоточность в перле реализуется просто:

#!/usr/bin/perl -w

use threads;

my @threads = undef;

for my $i (1..3) {

push @threads, threads->create(\&get_now, $i);

}

my $thread = undef;

foreach $thread (@threads) {

$thread->join();

}

sub get_now

{

my $num = shift;

print "thread ", $num, " => ", time(), "\n";

sleep 1;

return; # <- это строго обязательно если хотим дождаться завершения нити

}

Однако не стоит забывать, что в каждую нить копируется всё содержимое породившего её, пардон за тафталогию, родителя, это к вопросу о потреблении памяти в перле, к этой тематике я ещё как-нибудь вернусь...

Next Post