Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Programming with POSIX(R) Threads

Programming with POSIX(R) Threads

List Price: $49.99
Your Price: $42.96
Product Info Reviews

<< 1 2 >>

Rating: 0 stars
Summary: For more information
Review: Addison Wesley Longman has a web page with additional information on this book, including a cover picture, the text from the back cover, the table of contents, and the preface. Additionally, the source of the book examples is available, both as individual files for perusal online and as a tar file. Check out http://www.awl.com/cp/butenhof/posix.html

You can send me mail at butenhof@zko.dec.com. If you want to ask a threads question, use the newsgroup comp.programming.threads -- a friendly place where many helpful people gather. There'll be lots of people to help answer your question, and many more people able to benefit from the answer!

And, finally, if you want to see a picture of my family, check out http://members.aol.com/drbutenhof/ (DON'T send me mail on AOL -- I read it only occasionally, and any real message is likely to be overlooked in the flood of junk mail that awaits me at each visit.)

Rating: 5 stars
Summary: Comprehensive and well-written
Review: Butenhof covers all the details of programming the pthreads library. The book begins with a lucid and carefully presented discussion about the general concepts behind threading, such as locking, synchronization, race conditions, and data sharing. Threads can be a bit intimidating, but Butenhof's presentation makes threaded programming, and thinking about asynchronous design in general, much more manageable. His coverage of the library itself is very accurate and clear. The book helpfully contains a complete reference of the pthreads library. Another worthwhile feature is the discussion and implementation of several common design patterns for multithreaded programming. I have found myself modifying and reusing these patterns again and again. If you find yourself needing to program with the pthreads library, Butenhof will not lead you astray. Highly recommended.

Rating: 5 stars
Summary: Comprehensive and well-written
Review: Butenhof covers all the details of programming the pthreads library. The book begins with a lucid and carefully presented discussion about the general concepts behind threading, such as locking, synchronization, race conditions, and data sharing. Threads can be a bit intimidating, but Butenhof's presentation makes threaded programming, and thinking about asynchronous design in general, much more manageable. His coverage of the library itself is very accurate and clear. The book helpfully contains a complete reference of the pthreads library. Another worthwhile feature is the discussion and implementation of several common design patterns for multithreaded programming. I have found myself modifying and reusing these patterns again and again. If you find yourself needing to program with the pthreads library, Butenhof will not lead you astray. Highly recommended.

Rating: 4 stars
Summary: Not bad
Review: I found this book very useful when learning about POSIX threads though the whole impression is a bit mixed.

The book gives everything you need to start writing POSIX-style multithreaded applications. Very complicated (in my opinion) issues of multithreading are explained very clearly. Every new concept is immediately illustrated with a sample code.

The appendix contains a detailed description of all mentioned pthread functions, so you can use it as a reference too.

At the same time I am not sure if book is completely up-to-date. E.g., in chapter 7 the author explains in details what is a read/write lock and presents a code with a mutex and 2 condition variables to use as an r/w lock. In the appendix he says that r/w lock can be incorporated into POSIX as a separate entity in future. I work with Solaris 8 and I found that r/w locks are already in my POSIX library.

The style of book is quite special, you may love it, or you may hate it. Sometimes the very basic concepts are explained in such a way and with so repetitions that it becomes even a bit annoying. Those bailing programmers are also a bit annoying. Quotes from Lewis Carroll seem a bit off topic too. Of course it's just my opinion.

In general I think the book worth its money and recommend it to everyone interested in the subject.

Prerequisites are simple: knowledge of C and general POSIX. E.g., I recommend a book by Mr. Gallmeister on real-time (non-multithreading) POSIX.

Rating: 5 stars
Summary: Reading Pleasure
Review: I like to read books written that way.

To whom English is a foreign language an author's writing style
and choice of expression is sometimes the most important detail.

This book about POSIX-threads is for me. I respect THE OTHER
author's achievment. Also, I do not know how much of the
contents is outdated in either publication...

So, this is not about the quality of each snippet of Code, but
about the _usefulness of a book_ to teach POSIX-threads
comfortably to a complete beginner on the subject.

Take a copy, read some paragraphs from different chapters and
get an impression, before you buy any book on POSIX threads.

This one would be my first choice. :-)

Rating: 4 stars
Summary: Better than some other reviewers thought
Review: I started reading this book in 2000 when I already had programming experiences with threads (Linux/SUN/SGI/Windows thread packages). This book is very helpful to improve my understanding of threads overall (not only Posix threads which is the focal point of the book).

The most difficult part of thread programming is synchronization. This is where most problems arise in reality and most of this book's focus is on. The author clearly starts with various versions of implementation using different techniques (wrong or right) to help readers gain more knowledge. This (unlike one other reviewers claims to be confusing) is good writing style in my mind.

There may be some misunderstanding from other reviewers too. One claims mutex is associated with both data and code. But mutex should always be associated with data (to protect data's coherency and consistency) and I don't see the book tries to associated that with code (its usage is certainly always in the form of code, which is the only way to use it). Another claims there is no downloadable code, which is wrong. The appendix of the book clearly states the URL of the downloadable source sample code (also include errata of the book). (...)
The book is not without problems. The main issue I think is lack of introduction to popular Posix thread implementation. Almost no Posix thread implementation strictly conforms to the standard (this is also why some code in the book may not run readily on some implementation - make no mistake, most do). It will be helpful to explain different issues under different implementations and how to deal with it. The other thing is I found one minor problem with one sample code - it uses pthread_t type to do integer comparison which is discouraged by the author himself (this strikes one peculiarity of Posix standard: it uses opaque type for pthread_t, instead of scalar type which is very convenient to do such comparison in reality. Even the author as member of the standard committee is lured to do that).

Overall, I think the book is worth at least 4 star and the money.

Rating: 3 stars
Summary: Basically OK but not great
Review: It's easy for me now - I compare all programming books I read to the definitive gem of technical writing - Stevens UNPv1. The pthreads book is fine in a sense that it does explain threads yet it definitely lacks certain qualities UNPv1 posesses. Anyway, since 99.9% of any book's reviews on Amazon may be condensed into a single phrase 'I think this book is great', I'll try to provide more information by focusing on bad stuff.

- code examples are rather simplistic, with no attempt to show some real-life application

- Unlike Stevens, the author doesn't try to cover multiple UNIX implementations' specifics in a systematic manner (Stevens covered at least 6 flavors of UNIX!)

- Unlike Stevens, the author doesn't bother to show the results of running programs on multiple UNIX systems

- Typical threads programming mistakes are explained without showing any code. This is not the way I prefer it - I'd rather see a project spec, then an obvious (and wrong!) implementation with explanation of a mistake, then iterations of improvements up to a proper implementation

- The material definitely targets a VERY inexperienced person. The first half of the book is way too slow, especially compared to the 2nd half

- I found excerpts from Alice distracting and the pictures crude :-) . This is not what I expect to find in a technical book.

All in all, I don't like this book much - yet make no mistake - it will teach you how to program with pthreads. You won't enjoy the same sharp and intelligent style you'd get in UNPv1 (or on the opposite, you won't be so bored with technical details, if you don't like Stevens), but you will get the required information from it. After all, the author was part of the POSIX pthreads standardization group, so he knows what he is talking about.

PS. The UNPv1 book mentioned in this review is about NETWORK PROGRAMMING, not threads and it is in no way suggested as a replacement reading for the book reviewed.

Rating: 2 stars
Summary: A frustrating book
Review: Richard Kirk's review below is the most accurate. There are many annoying things about this book. In addition, I find the code suspicious. For example the examples he gives of mutexes is to associate them with data items, even though the vast majority of the time they're associated with executable code. The discussion of critical sections is basically non-existent with very little explanation of the equivalent functionality in Pthreads. His explanation of semaphores is very difficult to follow and far more complex than it need be. I found better and simpler tutorials on the Web.

Butenhof is at his best when explaining the deep stuff and the subtle aspects of parallel programming. If this is what you need, the book is great. But if you want someone to show you how to use Pthreads and enable you to get up to speed quickly, then you will find this book rather frustrating.

The absence of downloadable code is an additional frustration. I'd go with the books by Bil Lewis, which are more straightforward and he offers tons of downloadable examples.

Rating: 5 stars
Summary: one of the two best books
Review: there is on the topic! Covers almost every facette of threads, gives good examples and background information. An absolute must if U want to program threads

Rating: 4 stars
Summary: Really portable!
Review: This book can make your job easier if you are coding in multi threaded programming environment. It is really helpful for the beginners like myself in this subject area. Almost everyone in my team has a copy of this book.

The things that I like the most about this book are the clear cut explanation of POSIX functions coupled with 'working' compile-able examples. Throughout the book the author tells you how to avoid common mistakes and this is what makes it a really practical everyday kinda book.

I keep this book on my desk at all times. Perhaps, the best book on POSIX so far.


<< 1 2 >>

© 2004, ReviewFocus or its affiliates