GenTao
08.11.2009, 04:33
:).Наткнулся в каком-то блоге на скрипт:
#!/usr/bin/perl -w
use threads;
my @threads;
@threads
for my $i (1..3) {
push @threads, threads->create(\&get_now, $i);
}
foreach my $thread (@threads) {
$thread->join();
}
sub get_now
{
my $num = shift;
print "thread ", $num, " => ", time(), "\n";
sleep 1;
}
Теперь вопросы:
1) Что означает этот символ ? ->
2) Эм... Как отличить создаваемый объект от используемого метода (когда просматриваешь чужие скрипты).Может,я что не допонял ?
3) В строчке my $num = shift; удаляются элементы массива @_,но что это за элементы такие ? Где они передавались в массив ?
4) Зачем в процедуре get_now{} стоит оператор sleep ? Для задержки между созданием потоков или для чего ?
#!/usr/bin/perl -w
use threads;
my @threads;
@threads
for my $i (1..3) {
push @threads, threads->create(\&get_now, $i);
}
foreach my $thread (@threads) {
$thread->join();
}
sub get_now
{
my $num = shift;
print "thread ", $num, " => ", time(), "\n";
sleep 1;
}
Теперь вопросы:
1) Что означает этот символ ? ->
2) Эм... Как отличить создаваемый объект от используемого метода (когда просматриваешь чужие скрипты).Может,я что не допонял ?
3) В строчке my $num = shift; удаляются элементы массива @_,но что это за элементы такие ? Где они передавались в массив ?
4) Зачем в процедуре get_now{} стоит оператор sleep ? Для задержки между созданием потоков или для чего ?