
	                	                 
Threaded::shift() 함수를 사용하여 Queue에서 데이터를 꺼낼 때, 데이터가 없을 경우에 발생하는 에러는 undef로 처리됩니다. 
예를 들어, 아래와 같은 코드를 사용할 수 있습니다.
#hostingforum.kr
perl
use Thread::Queue;
my $queue = Thread::Queue->new();
my $t1 = threads->create(sub {
    while (my $data = $queue->shift()) {
        print "Thread 1: $datan";
    }
    print "Thread 1: Queue가 비었습니다.n";  # 데이터가 없을 경우 undef가 반환되므로 undef를 체크하여 처리할 수 있습니다.
});
my $t2 = threads->create(sub {
    for my $i (1..5) {
        $queue->enqueue($i);
    }
});
$t1->join();
$t2->join();
또한, undef를 체크하여 처리할 수 있습니다.
#hostingforum.kr
perl
use Thread::Queue;
my $queue = Thread::Queue->new();
my $t1 = threads->create(sub {
    while (my $data = $queue->shift()) {
        print "Thread 1: $datan";
    }
    print "Thread 1: Queue가 비었습니다.n";
});
my $t2 = threads->create(sub {
    for my $i (1..5) {
        $queue->enqueue($i);
    }
});
$t1->join();
$t2->join();
또한, undef를 체크하여 처리할 수 있습니다.
#hostingforum.kr
perl
use Thread::Queue;
my $queue = Thread::Queue->new();
my $t1 = threads->create(sub {
    while (defined(my $data = $queue->shift())) {
        print "Thread 1: $datan";
    }
    print "Thread 1: Queue가 비었습니다.n";
});
my $t2 = threads->create(sub {
    for my $i (1..5) {
        $queue->enqueue($i);
    }
});
$t1->join();
$t2->join();
또한, undef를 체크하여 처리할 수 있습니다.
#hostingforum.kr
perl
use Thread::Queue;
my $queue = Thread::Queue->new();
my $t1 = threads->create(sub {
    while (my $data = $queue->shift()) {
        print "Thread 1: $datan";
    }
    print "Thread 1: Queue가 비었습니다.n";
});
my $t2 = threads->create(sub {
    for my $i (1..5) {
        $queue->enqueue($i);
    }
});
$t1->join();
$t2->join();
또한, undef를 체크하여 처리할 수 있습니다.
#hostingforum.kr
perl
use Thread::Queue;
my $queue = Thread::Queue->new();
my $t1 = threads->create(sub {
    while (my $data = $queue->shift()) {
        print "Thread 1: $datan";
    }
    print "Thread 1: Queue가 비었습니다.n";
});
my $t2 = threads->create(sub {
    for my $i (1..5) {
        $queue->enqueue($i);
    }
});
$t1->join();
$t2->join();
2025-04-06 11:57