Date: Tue, 24 Apr 2001 17:34:52 -0700 From: "Hervey Wilson" <herveyw@dynamic-cast.com> To: "Mike Meyer" <mwm@mired.org> Cc: "Mark Giglio" <markgiglio@yahoo.com>, <questions@FreeBSD.ORG> Subject: Re: hotmail converted from freeBSD Message-ID: <007101c0cd1f$8d8afbb0$0101a8c0@chillipepper> References: <15077.62126.88738.629586@guru.mired.org><000d01c0cd1a$83109640$0101a8c0@chillipepper> <15078.6283.75950.909160@guru.mired.org>
next in thread | previous in thread | raw e-mail | index | archive | help
From: "Mike Meyer" <mwm@mired.org> > Hervey Wilson <herveyw@dynamic-cast.com> types: > > Developing a full-blown web server on Win9x wouldn't be a Good Thing (TM). > > The "thread per socket" model is not the recommended solution for Windows > > 2000 (see below). IIS does not use that model. > > [...] > > Windows 2000 has an asynchronous IO subsystem that supports a model where a > > pool of threads can wait on completion objects and the operating system > > wakes threads as required to handle IO events. This is typically a more > > scalable than the "thread per socket" model although it not for the faint > > hearted developer ;) > > This sounds like a the "thread per socket" model generalized so that > you have multiple threads waiting on one socket. Which leads to the > question - where's the context for the socket go? I.e. - if I've > processed the header of an HTTP request and am waiting on the data in > the request to be available, where does the context information get > stored? You can associate a per-file handle completion key with a completion port when you add the file handle to the port (note that socket handles are treated as file handles). When a completion port is signalled you can retrieve the completion key. So it's a matter of creating a hashtable (or other) data structure that maps the completion key to your context information. > > > Which leads me to ask a question: where can I find more information about > > thread models for FreeBSD ? > > -stable gives you posix threads, and you start with the pthread manual > page for information on that. -current is in the midst of rearranging > all this, and you need to follow the appropriate developer mail lists > for information on that, though the API will continue to be posix > threads. > Thanks. I know Linux doesn't have native kernel threads, does FreeBSD in either -stable or -current ? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?007101c0cd1f$8d8afbb0$0101a8c0>