Amazon.com Review
Adding multithreaded processing to your applications can make them faster and more responsive. The authors of
Multithreaded Programming with Win32 show you how to take advantage of threads through practical, easy-to-understand examples.
The book begins with a history of threads, which were implemented rather recently (in 1979). They look at Win32 threads in particular, including all the APIs used to create and control threads. (Several of the sample programs here use graphics and even rudimentary games--such as a simple version of Pong.)
After you create threads, the authors teach you how to get them to work together. They do a fine job of explaining all the Win32 synchronization objects, such as mutexes, critical sections, and event objects, in a clear and concise style.
The strategies for coordinating threads have been well known in computer science for some time. The authors present common thread scenarios using the producer-consumer, bounded buffers, and readers-writers solutions. They explore the concept of thread monitors, for greater abstraction when controlling resources, and discuss deadlock analysis, with strategies to prevent threads from freezing.
Later, the book moves on to some programming strategies for allocating work between threads, using models like the workgroup, manager-worker, and pipeline to solve problems. The book closes with a few examples of threads used across the enterprise, including Microsoft's DCOM.
In all, this guide proves remarkably engaging and effective. The authors present many useful code examples of multithreading in action, which will get you started using threads in your own programs. --Richard Dragan
Product Description
Learn practical Win32 multithreading techniques that can make all your Windows NT software faster and more responsive. Start by understanding how multithreading works, and the fundamentals of the Windows NT Thread Interface, including processes, thread management, creation, termination, and prioritization. Review the key techniques Win32 provides for thread synchronization, with practical examples of how to use them most effectively. Understand the role of monitors and data encapsulation. Next, use Microsoft's deadlock detection, prevention and recovery techniques to avoid the classic conditions known to crash multithreaded systems. Learn about the thread-package architecture and implementations, including user-level, kernel-level and multiplexed threads, and the scheduler. You'll also find great coverage of Java threads -- and an exceptionally useful chapter on multithreading in distributed applications, using Microsoft's DCOM technology.
See all Editorial Reviews