> So thanks for your comments and I suppose that I will start with a pure
> asynchronous implementation of my HTTP server application. Probably I
> will switch to "thread pools" in a later phase to make full use of
> multi-core CPUs which are so common these days.

Yes, multi-core CPU are interesting, but keep in mind multi-core is only
interesting for CPU bound task. So as long as your server only server disk
files, a single core is enough :-)

You will benefit from multi-core when you have processing to do, such as
building dynamic web pages. Then it is probably an easier design to use
worker thread to do the processing and let the component do the network I/O
and disk I/O in a single thread. Isolationg multithreading in processing
tasks is better design IMO. It will much easier to develop and test.

Note that it is always interesting to have a single worker thread running
the server component and keep the main thread for the user interface.

And if your server is litening to multiple /physical/ interfaces, then it
may be interesting to have a separate threads, each one running a single
HTTP server component listening to a single /physical/ interface.

Author of ICS (Internet Component Suite, freeware)
Author of MidWare (Multi-tier framework, freeware)

To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to