I am trying to process data with a set of threads and enqueue it with another, currently the enqueueing and dequeueing process doesn't seem to be working
Any thoughs??
sub process() {
while (my @DataElement = $DataQueue->dequeue()) {
print "\t".$DataElement[0]."\n";
}
}
I use the following to enqueue the data
my @l;
push(@l, $directories.$suffix);
push(@l, "testclass");
push(@l, $eachFile);
$DataQueue->enqueue(\@l);
Are you accessing an array reference without dereferencing it? Try
while (my $DataElementRef = $DataQueue->dequeue()) {
my @DataElement = @$DataElementRef;
print "\t".$DataElement[0]."\n";
}
@l is not shared, so you can't pass it's reference to another thread. Use threads::shared.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With