Re: Simple Thread question
[email protected] (Christopher Fowler) Mon, 31 Mar 2008 19:20:29 -0400
| Newsgroups | perl.ithreads |
|---|---|
| Organization | OutPost Sentinel, LLC |
| Message-ID | <[email protected]> |
I think your problem is the join(). Do not join the thread directly
after creating it.
Create both threads then join().
On Mon, 2008-03-31 at 16:01 -0700, Wong, Danny H. wrote:
> Hi Thread Guru's,
> I'm just reading up on Perl threads for the first time from
> http://perldoc.perl.org/perlthrtut.html
> <http://perldoc.perl.org/perlthrtut.html> .
>
> After reading the document and trying out a test script myself. Can
> someone tell me what I'm doing something wrong? It's a simple copy
> function that copies a big file ~50MB, but I was hoping that the copying
> happens in parallel but its not. Any ideas what I need to do? I'll like
> to try the boss-worker and pipeline method. any information would great.
> thanks for your help.
>
> Here is my code?
>
> use threads;
>
> use File::NCopy <file::NCopy> qw (copy);
>
> my $FILE='c:\tmp\ADK61292p-Explorer8010hd-ATSC-SA-pKey.zip';
>
> my $DIR1='C:\tmp\test1';
>
> my $DIR2='C:\tmp\test2';
>
> my $THREAD_1 = threads->create(\©TOTESTAREA, ${FILE}, ${DIR1});
> print "Thread 1" . $THREAD_1->join() ." is done\n";
>
>
>
> my $THREAD_2 = threads->create(\©TOTESTAREA, ${FILE}, ${DIR2});
> print "Thread 2" . $THREAD_2->join() ." is done\n";
>
>
>
> sub COPYTOTESTAREA
>
> {
>
> my ($SOURCE, $DESTINATION) = @_;
>
> copy("${SOURCE}", "${DESTINATION}");
>
> return "I'm done";
>
> }
>
>
>
>
>
> - - - - - Appended by Scientific Atlanta, a Cisco company - - - - -
> This e-mail and any attachments may contain information which is confidential,
> proprietary, privileged or otherwise protected by law. The information is solely
> intended for the named addressee (or a person responsible for delivering it to
> the addressee). If you are not the intended recipient of this message, you are
> not authorized to read, print, retain, copy or disseminate this message or any
> part of it. If you have received this e-mail in error, please notify the sender
> immediately by return e-mail and delete it from your computer.