From: Romain Beauxis <toots@rastageeks.org>
To: caml-list@yquem.inria.fr
Cc: Goswin von Brederlow <goswin-v-b@web.de>
Subject: Re: [Caml-list] Smart ways to implement worker threads
Date: Sat, 17 Jul 2010 10:20:58 -0400 [thread overview]
Message-ID: <201007171020.58902.toots@rastageeks.org> (raw)
In-Reply-To: <87hbjy77vk.fsf@frosties.localdomain>
Le samedi 17 juillet 2010 05:52:31, Goswin von Brederlow a écrit :
> Now I have a queue that I can include in select. The take function can
> be used by the worker threads. The main thread can use either take_all
> or process to save on syscalls or stick with take to ensure the queue
> does not starve the other FDs.
>
> Also I think I can use the EventFD to terminate a queue and wake up all
> listeners. Closing the EventFD should wake up any thread stuck in read
> and prevent any threads from becoming stuck in the future. Haven't
> tested that yet though.
I don't see why you want to use EventFD and not Condition.wait/signal. In
particular, Condition.broadcast does exactly the last thing you mention.
Now, I don't understand why you asked for related modules and and the end
discard all of them and post your own implementation. Your issue is not that
complex you could have done that in the first place...
Romain
next prev parent reply other threads:[~2010-07-17 14:20 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-14 16:09 Goswin von Brederlow
2010-07-15 15:58 ` [Caml-list] " Rich Neswold
2010-07-15 16:19 ` David McClain
2010-07-15 17:16 ` Ashish Agarwal
2010-07-15 18:24 ` Goswin von Brederlow
2010-07-15 18:37 ` David McClain
2010-07-15 18:40 ` David McClain
2010-07-15 19:56 ` Rich Neswold
2010-07-16 4:02 ` Goswin von Brederlow
2010-07-16 4:23 ` Rich Neswold
2010-07-16 13:02 ` Goswin von Brederlow
2010-07-16 14:40 ` Dawid Toton
2010-07-16 16:18 ` [Caml-list] " Rich Neswold
2010-07-17 17:53 ` Eray Ozkural
2010-07-20 4:54 ` Satoshi Ogasawara
2010-07-17 18:34 ` Eray Ozkural
2010-07-17 19:35 ` Goswin von Brederlow
2010-07-17 22:00 ` Eray Ozkural
2010-07-15 16:32 ` Romain Beauxis
2010-07-15 17:46 ` Goswin von Brederlow
2010-07-15 18:44 ` Romain Beauxis
2010-07-16 3:52 ` Goswin von Brederlow
2010-07-16 4:19 ` Romain Beauxis
2010-07-16 13:05 ` Goswin von Brederlow
2010-07-16 13:20 ` Romain Beauxis
2010-07-17 9:07 ` Goswin von Brederlow
2010-07-17 13:51 ` Romain Beauxis
2010-07-17 14:08 ` Goswin von Brederlow
2010-07-17 9:52 ` Goswin von Brederlow
2010-07-17 14:20 ` Romain Beauxis [this message]
2010-07-17 15:52 ` Goswin von Brederlow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201007171020.58902.toots@rastageeks.org \
--to=toots@rastageeks.org \
--cc=caml-list@yquem.inria.fr \
--cc=goswin-v-b@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox