in reply to Concurrent execution of threads
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
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Concurrent execution of threads
by pplshlp (Initiate) on Nov 29, 2012 at 09:29 UTC |
In Section
Seekers of Perl Wisdom