perl - 使用 thread::queue 在 perl 中对数组进行出队

标签 perl multithreading

我正在尝试使用一组线程处理数据并将其与另一个线程一起入队,目前入队和出队过程似乎无法正常工作

有什么想法吗??

sub process() {
    while (my @DataElement = $DataQueue->dequeue()) {
        print "\t".$DataElement[0]."\n";
    }
}

我使用下面的方法来排队数据


my @l;
push(@l, $directories.$suffix);
push(@l, "testclass");
push(@l, $eachFile);
$DataQueue->enqueue(\@l);

最佳答案

您是否在不取消引用的情况下访问数组引用?尝试

while (my $DataElementRef = $DataQueue->dequeue()) {
    my @DataElement = @$DataElementRef;
    print "\t".$DataElement[0]."\n";
}

关于perl - 使用 thread::queue 在 perl 中对数组进行出队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2541345/

相关文章:

perl - 转义 > 字符

java - Java中的线程结构

regex - 读取文件并修改它

perl - perldoc perlxxx 选项是什么?

perl - Catalyst:将查询参数传递给 "forward"调用

c# - JoinableTaskFactory.RunAsync 的正确用法是什么?

c - 具有互斥量和信号量的多线程程序

perl - 如何在 Perl 中使用客户端和服务器传输哈希?

python - 查找 python 进程休眠的原因

java - android.os.NetworkOnMainThreadException 如何调整在单独线程中运行的代码