Subj : Re: MT server side app book advice To : comp.programming.threads From : Mikhail Polatov Date : Tue May 24 2005 12:39 pm "Uenal Mutlu" <520001085531-0001@t-online.de> writes: > "dan" wrote >> Thanks for all the info! Think I'll buy a couple (Just wish they weren't >> all so expensive!) >> >> >> "Mikhail Polatov" wrote in message >> >> > "dan" writes: >> > >> >> Can anyone recommend any books regarding developing mutlithreaded >> >> server side applications for Windows XP server or linux. >> > >> > I'd start with Programming with POSIX(R) Threads by David R. Butenhof >> > (ISBN: 0201633922). > > I have not read his book, but I've participated in some discussions with > the author in this newsgroup, and I'm afraid his views on thread programming > are not uptodate, some may even say old- or odd-style. If you haven't read the book, you cannot claim that it is good or bad. I cannot say that the book gives you the complete picture of the concurrent programming and the problems associated with it, and allows you to start writing high-performance back-end applications. But the true value of this book is a set of concepts and patterns about multithreading and concurrent programming, so you can start thinking about it and go deeper to understand other aspects associated with the domain. > He is practically saying that multithreading on a single CPU would not > make any sense. He's saying one would need one CPU per thread. When > I asked him how he would serve 1000 simultanous clients, ie. whether he > would use a server with 1000 CPU's to do the job, he unfortunately refused > to answer. So, I believe you would much be disappointed of the book. IMHO, if the thread is CPU bound, it really doesn't make any sense to have more of them on the same CPU. You have not described you vision on this problem so it is hard to judge about the right design. > I would suggest a newer and a more modern book on threads > programming. I think the following free book and examples from Sun > will give you more than the above one: > http://docs.sun.com/app/docs/doc/805-5080 (HTML version) > http://docs-pdf.sun.com/805-5080/805-5080.pdf (PDF version) Good source, but mostly repeats the content of the book mentioned above. I believe this document is an updated version of the document you have pointed to. http://docs-pdf.sun.com/816-5137/816-5137.pdf I'd add one more link: http://www.serpentine.com/~bos/threads-faq/ There is a section regarding books on design and implementation of thread libraries on various operating systems with multiprocessor support. > >> > Then: >> > >> > Microsoft Windows Internals, Fourth Edition (ISBN: 0735619174). >> > Windows System Programming, Third Edition (ISBN: 0321256190). >> > Unix Network Programming, Volumes 1 and 2 (ISBN: 0131411551, >> > 0130810819). >> > >> > The last two books are focused solely on UNIX, but they will give you >> > some ideas/patterns/techniques how to write back-end applications >> > regardless of a platform you are using. > -- Mikhail Polatov .