Perl 5.10.1에서 스레드를 사용하여 테스트를하고 있지만 문제가 있습니다. 우선 2.6.32-5-amd64 (64 비트)의 Debian GNU/Linux squeeze/sid가 있습니다.스레드가있는 Perl 스크립트가 점진적으로 작동하며 비동기 적으로 작동하지 않습니다.
이 내 스크립트
#!/usr/bin/perl -w
use strict;
use warnings;
use threads;
sub threadProcess{
my ($number, $counter) = @_;
print "Enter thread #" . $number . "\n";
while($counter < 10){
print "Thread #" . $number . ": " . $counter . "\n";
$counter++;
}
print "Exit thread #" . $number . "\n";
}
sub main{
my $counter = 0;
my $thr1 = threads->create(\&threadProcess, 1, $counter);
my $thr2 = threads->create(\&threadProcess, 2, $counter);
my $res1 = $thr1->join();
my $res2 = $thr2->join();
print "Bye...\n";
}
main(@ARGV);
입니다 그리고 이것은 출력 :
Enter thread #1
Thread #1: 0
Thread #1: 1
Thread #1: 2
Thread #1: 3
Thread #1: 4
Thread #1: 5
Thread #1: 6
Thread #1: 7
Thread #1: 8
Thread #1: 9
Exit thread #1
Enter thread #2
Thread #2: 0
Thread #2: 1
Thread #2: 2
Thread #2: 3
Thread #2: 4
Thread #2: 5
Thread #2: 6
Thread #2: 7
Thread #2: 8
Thread #2: 9
Exit thread #2
Bye...
어떤 문제가 될 수있다? 미리 감사드립니다!
1000 회 반복 해보십시오. – Mat
감사합니다. 하하하. 나는 그 부분을 그리워한다. – pablomarti