#! perl use strict; use threads; use Thread::Queue; use LWP::Simple; use DBI; sub fetchNParse { my( $Qin, $Qout ) = shift; while( my $uname = $Qin->dequeue ) { #my $content = get $uname; #my @bits = $content =~ m[....]; my @bits=qw(pizza2 steak2 chicken2 burgers2); print " $uname 1\n"; #$Qout->enqueue( join $;, $uname, @bits ); $Qout->enqueue( $uname ); } $Qout->enqueue( undef ); } our $THREADS //= 16; my $Qunames = new Thread::Queue; my $Qrets = new Thread::Queue; threads->create( \&fetchNParse, $Qunames,$Qrets )->detach for 1 .. $TH +READS; #my $dbh = DBI->connect( ... ); #my $unames = $dbh->selectcol_arrayref("select uname from event"); my @unames = qw(pizza steak chicken burgers); print "a\n"; $Qunames->enqueue( @unames ); print "b\n"; for( 1 .. $THREADS ) { while( my $ret = $Qrets->dequeue ) { #my( $uname, @bits ) = split $;, $ret. #$dbh->do( insert stuff ); print "2\n"; } } #$dbh->disconnect;
In reply to Re^8: multi threading DBI
by supernoob
in thread multi threading DBI
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |