So, I should not be worried about clashing of variables with threads?
you said contents may not be used but threads will get their own "our" variable and threads can modify it, right?
| [reply] |
So, I should not be worried about clashing of variables with threads?
you said contents may not be used but threads will get their own "our" variable and threads can modify it, right?
I'm gonna await the sucker punch, but ostensibly: No, you shouldn't worry. Yes, threads can safely modify our variables:
A new thread will inherit a copy of any pre-existing global variable, but both it, and any other threads, may safely modify their copies of that variable without conflict. This may convince you.
#! perl -slw
use strict;
use threads;
my $tid = threads->tid;
our $fred = 12345;
print "$tid : $fred";
my $t = threads->create( sub{
my $tid = threads->tid;
our $fred;
print "$tid : $fred";
$fred = 54321;
print "$tid : $fred";
} )->join;
print "$tid : $fred";
$fred = 'fred';
print "$tid : $fred";
__END__
C:\test>junk
0 : 12345
1 : 12345
1 : 54321
0 : 12345
0 : fred
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] [d/l] |
| [reply] |
# some code here....
for (0 ..3))
{
my $thr = threads->create (
sub {
worker();
}
)->detach();
}
# Master Thread
while (1)
{
master();
}
| [reply] [d/l] |