Optimal multithread model
Marc Lehmann
schmorp at schmorp.de
Wed Mar 17 01:53:29 CET 2010
On Tue, Mar 16, 2010 at 03:40:46PM +0100, Christophe Meessen <christophe at meessen.net> wrote:
> With threads we can easily set up a pool of worker threads that easily
> and efficiently pick up the context associated to the connection
> becoming active. I don't see how an equivalent model can be efficiently
> implemented with processes.
Depends very much on the protocol and the OS abilities - pthread does work
over process boundaries (but maybe not on the platform where you need it),
as does accept() and read() on a shared fd. GNUL/Linux can selectively
share the fd table without sharing anything else (but you have no good API
for that, as it isn't supported by pthreads etc.).
> I would prefer it was possible to do it with processes because they have
> the benefit of a separate memory space which is much better for
> security and robustness. But I couldn't find a way to do it as easily
> and efficiently as with threads.
For your specific problem, that could well be true. Things aren't black or
white, there is grey stuff too :)
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
More information about the libev
mailing list