Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: Boolean Thread::Semaphore ?

by Corion (Pope)
on Feb 08, 2012 at 12:04 UTC ( #952468=note: print w/replies, xml ) Need Help??

in reply to Boolean Thread::Semaphore ?

Why not use a Thread::Queue to distribute the work to your worker threads? The workers will block when the queue is empty and get woken up when there is work to be done.

Replies are listed 'Best First'.
Re^2: Boolean Thread::Semaphore ?
by chrestomanci (Priest) on Feb 08, 2012 at 12:12 UTC

    I am doing that, the work finding thread is putting the work it finds into a Thread::Queue object.

    The reason I want to use a semaphore as well is because the work finder runs much faster than the workers, but is quite expensive in terms of resource consumption.

    If there was not a mechanism to pause the work finder when there is enough work in the queue, it would build a queue of millions of items and waste a lot of memory and other resources in the process.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://952468]
[Lady_Aleena]: Bw, happy Turing day!

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (9)
As of 2017-06-23 09:28 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (539 votes). Check out past polls.