Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl -w use threads; use threads::shared; use DBI; use DBD::mysql; my $dbh = DBI->connect("dbi:mysql:host=xxx.xxx.xxx.xxx;database=xxx", +"xxx","xxx"); share($dbh); # its not work!! my $threads_cnt = 4; my @threads; for (my $i = 0;$i < $threads_cnt ;$i++) { $threads[$i] = threads->create(\&test); } for (my $i = 0;$i < $threads_cnt ;$i++) { $threads[$i]->detach; } while(1) {sleep;} exit; sub test() { my $tid = threads->self->tid; my $cursor = $dbh->prepare("select * from users"); # each t +hread can't share $dbh.. $cursor->execute(); my $result = $cursor->fetchrow(); $cursor->finish(); $dbh->disconnect; open (FILE, ">files/test_$tid.txt"); print FILE $result; close (FILE); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Sharing DBI handle per each thread
by sauoq (Abbot) on Aug 19, 2003 at 02:10 UTC | |
by jdtoronto (Prior) on Aug 19, 2003 at 02:22 UTC | |
|
Re: Sharing DBI handle per each thread
by htoug (Deacon) on Aug 19, 2003 at 11:41 UTC |