Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Synchronising threads with signals (or not)

by Anonymous Monk
on Feb 22, 2013 at 16:54 UTC ( #1020191=note: print w/replies, xml ) Need Help??

in reply to Synchronising threads with signals (or not)

You need to design your application so that the two processes don't have to "start at a similar time to one another." Each one should have a job to do and should wait for a signal unique to them that indicates that they might have work to do ... i.e. that they should not be asleep anymore. Each one, upon waking up, immediately resets the signal they were sleeping for, then processes a work-to-do queue until that queue is empty. Or perhaps the process just "waits on the queue" as needed using semantics already built into the thread-safe-queue object. Each thread of a multithreaded application should not be in any way dependent on what else is happening in any other thread and should be free to pursue whatever its appointed task is, as fast as it can.
  • Comment on Re: Synchronising threads with signals (or not)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1020191]
and the universe expands...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2017-08-21 12:39 GMT
Find Nodes?
    Voting Booth?
    Who is your favorite scientist and why?

    Results (322 votes). Check out past polls.