in reply to Re^2: How to make a thread to wait till a command on shell get completed.
in thread How to make a thread to wait till a command on shell get completed.
Now as I have only 5 thread created I expect to have only 5 instance of tar and similarly 5 instance of gzip. But that doesn't seems to be the case.
You say that, and indeed you do start out with my $numThreads = 5;; but then, you immediately override that:
if ( $totalKeys le $numThreads ) { $numThreads = $totalKeys; }
And then, in the loop where you create your threads you don't seem to use that variable at all:
for my $href (@arrHash) { my $t = threads->create( \&Thread, \%$href, $sourcePath, $destinationPath ); push( @arrThreads, $t ); }
Your has nothing to do with backticks not blocking, but is simply a programming error in that you are just starting lots and lots of threads without (it appears) any mechanism to control how many you start.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: How to make a thread to wait till a command on shell get completed.
by techman2006 (Beadle) on Dec 02, 2013 at 18:18 UTC |