传递请求时,我将在端口(简单服务器)上侦听解析 URL 并启动线程。
线程将在共享队列中插入一个元素,并在插入时锁定。
当我在队列上调用 peek 时,我无法获取元素。
use Thread qw(async);
use Thread::Queue;
my $DataQueue:shared = new Thread::Queue;
$newElement = init($user,$param,$reqest); # init is method in ElementStructure.pm
#after creating the element it is passes to subroutine where thread is started
sub updateData
{
my $iElement=shift;
$thr = async
{
{
lock($DQueue);
print "---->locked\n";
$DQueue->enqueue($iElement);
insertdata();
}
print "lock released\n";
};
}
sub insertdata
{
my $count=0;
while ($DataElement = $DQueue->peek($count) )
{
print "-- position $count\n";
$count++;
}
}