Jak udostępnić skrót hashowy $ref
w wątku głównym i wątkach roboczych?Jak udostępnić odwołanie do hasza w wątku wielowątkowym?
#!/usr/bin/perl
use strict;
use warnings;
use threads;
use threads::shared;
my $ref = {};
$ref->{0}->{abc} = 123;
$ref->{1}->{abc} = 223;
printf("%d\n", $ref->{0}->{abc});
printf("%d\n", $ref->{1}->{abc});
issue_all_jobs($ref);
while (1)
{
printf("%d\n", $ref->{0}->{abc});
printf("%d\n", $ref->{1}->{abc});
sleep(1);
}
sub issue_all_jobs
{
my ($ref) = @_;
for (my $i = 0; $i < 2; $i++)
{
$ref->{$i}->{handle} = new threads(\&issue_job, $ref, $i);
$ref->{$i}->{handle}->detach();
}
}
sub issue_job
{
my ($ref, $i) = @_;
$ref->{$i}->{abc} = 555123 + $i;
sleep(2);
}
Dziękujemy, że nadal przekazujesz swoje doświadczenie w zakresie gwintowania. Doceniam twój wkład. – Miller
Głównym powodem, dla którego zacząłem uczyć się gwintowania/rozwidlania - i o to chodzi, OO - jest to, że sprawia, że wszyscy ludzie, których znam na wysokim koniu, że "perl jest gorszy" wyglądają na trochę chorych, kiedy to sugeruję. – Sobrique