Simple(3pm)						User Contributed Perl Documentation					       Simple(3pm)

NAME
Thread::Pool::Simple - A simple thread-pool implementation SYNOPSIS
use Thread::Pool::Simple; my $pool = Thread::Pool::Simple->new( min => 3, # at least 3 workers max => 5, # at most 5 workers load => 10, # increase worker if on average every worker has 10 jobs waiting init => [&init_handle, $arg1, $arg2, ...] # run before creating worker thread pre => [&pre_handle, $arg1, $arg2, ...] # run after creating worker thread do => [&do_handle, $arg1, $arg2, ...] # job handler for each worker post => [&post_handle, $arg1, $arg2, ...] # run before worker threads end passid => 1, # whether to pass the job id as the first argument to the &do_handle lifespan => 10000, # total jobs handled by each worker ); my ($id1) = $pool->add(@arg1); # call in list context my $id2 = $pool->add(@arg2); # call in scalar conetxt $pool->add(@arg3) # call in void context my @ret = $pool->remove($id1); # get result (block) my $ret = $pool->remove_nb($id2); # get result (no block) $pool->cancel($id1); # cancel the job $pool->cancel_all(); # cancel all jobs $pool->join(); # wait till all jobs are done $pool->detach(); # don't wait. DESCRIPTION
"Thread::Pool::Simple" provides a simple thread-pool implementaion without external dependencies outside core modules. Jobs can be submitted to and handled by multi-threaded `workers' managed by the pool. AUTHOR
Jianyuan Wu, <jwu@cpan.org> COPYRIGHT AND LICENSE
Copyright 2007 by Jianyuan Wu This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2010-10-04 Simple(3pm)