История изменений
Исправление Vlad-76, (текущая версия) :
сделал два threads. Объявил хэш. В одной thread пишу в хэш в другой читаю. Но ничего не читается. Как организовать доступ к общему хэшу, данным между threads?
#!/usr/bin/perl
use threads;
my %H_AC =();
threads->create(sub {
my $c = 0;
while(1) {
$c++;
sleep(1);
every_01sec_run();
$H_AC{$c} = $c ;
}
});
threads->create(sub {
while(1) {
sleep(10);
every_10sec_run();
print "печать хэша\n";
for my $key ( keys %H_AC ) {
my $value = $H_AC{$key};
print "$key => $value\n";
}
}
});
while(1) { # ОСНОВНОЙ ЦИКЛ
sleep 13;
print "sleep 13\n";
}
sub every_01sec_run(){
print "sleep 1\n";
}
sub every_10sec_run(){
print "sleep 10\n";
}
Исправление Vlad-76, :
сделал два threads. Объявил хэш одном thread пишу в хэш в другом читаю. Но ничего не читается. Как организовать доступ к общему хэшу, данным между threads?
#!/usr/bin/perl
use threads;
my %H_AC =();
threads->create(sub {
my $c = 0;
while(1) {
$c++;
sleep(1);
every_01sec_run();
$H_AC{$c} = $c ;
}
});
threads->create(sub {
while(1) {
sleep(10);
every_10sec_run();
print "печать хэша\n";
for my $key ( keys %H_AC ) {
my $value = $H_AC{$key};
print "$key => $value\n";
}
}
});
while(1) { # ОСНОВНОЙ ЦИКЛ
sleep 13;
print "sleep 13\n";
}
sub every_01sec_run(){
print "sleep 1\n";
}
sub every_10sec_run(){
print "sleep 10\n";
}
Исправление Vlad-76, :
сделал два threads. Объявил хэш хэш одним пишу в хэш другим читаю. Но ничего не читается. Как организовать доступ к общему хэшу, данным между threads?
#!/usr/bin/perl
use threads;
my %H_AC =();
threads->create(sub {
my $c = 0;
while(1) {
$c++;
sleep(1);
every_01sec_run();
$H_AC{$c} = $c ;
}
});
threads->create(sub {
while(1) {
sleep(10);
every_10sec_run();
print "печать хэша\n";
for my $key ( keys %H_AC ) {
my $value = $H_AC{$key};
print "$key => $value\n";
}
}
});
while(1) { # ОСНОВНОЙ ЦИКЛ
sleep 13;
print "sleep 13\n";
}
sub every_01sec_run(){
print "sleep 1\n";
}
sub every_10sec_run(){
print "sleep 10\n";
}
Исходная версия Vlad-76, :
сделал два threads. Объявил хэш хэш одним пишу в хэш другим читаю. Но ничего не читается. Как организовать доступ к общему хэшу, данным между thread?
#!/usr/bin/perl
use threads;
my %H_AC =();
threads->create(sub {
my $c = 0;
while(1) {
$c++;
sleep(1);
every_01sec_run();
$H_AC{$c} = $c ;
}
});
threads->create(sub {
while(1) {
sleep(10);
every_10sec_run();
print "печать хэша\n";
for my $key ( keys %H_AC ) {
my $value = $H_AC{$key};
print "$key => $value\n";
}
}
});
while(1) { # ОСНОВНОЙ ЦИКЛ
sleep 13;
print "sleep 13\n";
}
sub every_01sec_run(){
print "sleep 1\n";
}
sub every_10sec_run(){
print "sleep 10\n";
}