Synopses & Reviews
Many Windows developers still write code as if their application is a single entity that, while it is running, has complete control of all system resources. This legacy from the days of DOS means that developers frequently fail to take advantage of Win32's support of multiple threads of execution to improve their application's performance or to enhance its functionality. For instance, a main thread can handle interactions with the user, while a background "worker" thread can handle repainting the application window or performing some background calculations. But multithreaded programming means more than adding threads; it also requires that the code be thread-safe.Win32 Multithread Programming explains the concepts of multithreaded programs, thus providing the developer with the knowledge necessary to skillfully construct efficient and complex applications. From basic thread synchronization using mutexes and semaphores, to advanced topics like creating reusable thread pools or implementing a deferred processing queue, the book uses real-world applications and carefully constructed examples to illustrate the principles of multithreaded programming. Some of the topics include:
- How the Windows operating systems handle threads
- Multithreading primitives in the Win32 API
- Techniques for generating thread-safe dynamic link libraries
- Advanced techniques for thread synchronization
- Basic scenarios for synchronizing threads
- Common designs for building multithreaded user interfaces
The CD-ROM accompanying the book features Mcl, the authors' C++ class library for multithreaded programming, which both wraps multithreaded API functions and easily supports more complex multithreaded scenarios. For programmers using MFC, an additional library, Mcl4Mfc, is included for MFC compatibility.Win32 Multithread Programming
is an essential resource for any developer interested in learning about Win32 multithreaded programming in order to create high-performance, effective applications.
This book clearly explains the concepts of multithreaded programs and showsdevelopers how to skillfully construct efficient and complex applications. From basic thread synchronization using mutexes and semaphores, to advancedtopics like creating reusable thread pools or implementing a deferredprocessing queue, the book uses real-world applications and carefullyconstructed examples to illustrate the principles of multithreadedprogramming. Some of the topics covered include: How the Windows operating systems handle threadsMultithreading primitives in the Win32 APITechniques for generating thread-safe dynamic link librariesAdvanced techniques for thread synchronizationBasic scenarios for building multithreaded user interfacesThe CD-ROM features Mcl, the authors' C++ class library for multithreadedprogramming, which both wraps multithreaded API functions and easily supportsmore complex multithreaded scenarios. For programmers using MFC, an additionallibrary, Mcl4Mfc, is included for MFC compatibility.
This book clearly explains the concepts of multithreaded programs and shows developers how to construct efficient and complex applications. An important book for any developer, it illustrates all aspects of Win32 multithreaded programming, including what has previously been undocumented or poorly explained.
About the Author
Aaron Michael Cohen started programming computers as a hobby in 1977, on an RCA 1802 single board microcomputer. While attending medical school in the early '80s, he explored numerous computer platforms (in his spare time!) including the Atari 800, the Macintosh, and the IBM PC. Realizing his greatest talents lay in computer programming, he decided to leave medicine and pursue a career in software development. His first jobs involved computer based medical imaging, which lead to work on high-quality image and video compression. Currently, Aaron is employed at Intel Corporation developing video teleconferencing systems in C and C++ on Windows 95 and NT. He has an undergraduate background in engineering and holds an M.D. from the University of Michigan.
Mike Woodring has been programming retail Windows applications, DLLs, and device drivers on Intel architecture platforms since the release of Windows 3.0. As a systems software engineer at Intel, he developed realtime ISDN telecommunications software in C++ for telephony, Internet, and desktop video conferencing products. Currently, he works as an independent consultant and teaches courses on Win32 programming. Mike holds a bachelor's degree in computer science from Montana State University.