По сути, я хочу реализовать многопоточность в некотором коде, и в этом коде я использую библиотеку Perl XML, но на самом деле я не собираюсь выигрывать время в этот момент кода, но я хочу, чтобы все остальное работало, но этоне работает, даже если я не использую эту библиотеку в коде, в котором я хочу реализовать потоки:
use threads;
use xmlparser;
my $file = "project.xml";
#Call the XML Parser
(my $hash_ref,my $exit_state) = xmlparser::ProjectXmlParser($file);
#Define the number of threads
my $num_of_threads = 2;
# use the initThreads subroutine to create an array of threads.
my @threads = initThreads();
# Loop through the array:
foreach(@threads)
{
#Tell each thread to perform our 'sub1()' subroutine.
$_ = threads->create(\&sub1);
}
# This tells the main program to keep running until all threads have finished.
foreach(@threads)
{
$_->join();
}
####################### SUBROUTINES ############################
sub initThreads
{
my @initThreads;
for(my $i = 1;$i<=$num_of_threads;$i++)
{
push(@initThreads,$i);
}
return @initThreads;
}
sub sub1 {
sleep(1);
print "\nIn the thread\n\n";
}
Есть ли способ устранить эту ошибку или альтернативную поточно-безопасную библиотеку?Заранее спасибо!