Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: MultiThreaded Program in perl

by BrowserUk (Pope)
on Nov 10, 2010 at 00:07 UTC ( #870440=note: print w/ replies, xml ) Need Help??


in reply to MultiThreaded Program in perl

Simplistically:

#! perl -slw use strict; use threads; use Thread::Queue; use DBI; our $N //= 4; sub child { my $Q = shift; while( my $work = $Q->dequeue ) { for my $thing ( @{ $work } ) { ## process data items } } } my $Q = new Thread::Queue; my @kids = map threads->create( \&child, $Q ), 1 .. $N; my $dbh = DBI->connect( ... ); my $sth->prepare( ...SQL HERE... ); while( my $ref = sth->fetch_* ) { $Q->enqueue( share_clone( $ref ) ); } ### Assume exiting the loop above means no more data $dbh->disconnect; ## tell the kids to die $Q->enqueue( ( undef ) x $N ); ## And wait for kids to clean up $_->join for @kids;;

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.


Comment on Re: MultiThreaded Program in perl
Download Code
Re^2: MultiThreaded Program in perl
by dtate (Initiate) on Nov 10, 2010 at 14:28 UTC
    Wow, I wish I would of found this thread before I hacked around with Parallel fork manager, Thanks for this Example
Re^2: MultiThreaded Program in perl
by Anonymous Monk on Nov 16, 2010 at 22:21 UTC
    Hi,
    I am getting the following error when I tried to throw an error from my child thread.

    Error: Reached EOF after 0 bytes, header is minimum 4 bytes
    Operation """": no method found, argument in overloaded package main at /home/jpotter/testscript.pl

    Any Idea what the above error is?
    Thanks!
      Any Idea what the above error is?

      None whatsoever.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://870440]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (14)
As of 2015-07-01 19:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (17 votes), past polls