G'day pplshlp,
// introduces a comment in a number of languages but not in Perl. You need a # in Perl.
With your code, I get:
Bareword found where operator expected at -e line 20, near "//do somet +hing" (Missing operator before something?) syntax error at -e line 21, near "//do something "
Changing //do something to #do something, I get:
Starting main program End of main program
I don't see a concurrency issue:
$ perl -e ' use strict; use warnings; use threads; use threads::shared; print "Started at: ", time, "\n"; print "Starting main program\n"; my @threads; for ( my $count = 1; $count <= 10;$count++) { my $t = threads->new(\&sub1); push(@threads,$t); } foreach (@threads) { $_->join; } print "End of main program\n"; print "Stopped at: ", time, "\n"; sub sub1 { print "Called at: ", time, "\n"; sleep 2; #do something } ' Started at: 1354171101 Starting main program Called at: 1354171101 Called at: 1354171101 Called at: 1354171101 Called at: 1354171101 Called at: 1354171101 Called at: 1354171101 Called at: 1354171101 Called at: 1354171101 Called at: 1354171101 Called at: 1354171101 End of main program Stopped at: 1354171103
-- Ken
In reply to Re: Concurrent execution of threads
by kcott
in thread Concurrent execution of threads
by pplshlp
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |