Windowsreg; 95 and Windows NT & allow software developers to use the powerful programming technique of multithreading: dividing a single application into multiple "threads " that execute separately and get their own CPU time. This can result in significant performance gains, but also in programming headaches. Multithreading is difficult to do well, and previous coverage of the subject in Windows has been incomplete. In this book programmers will get hands-on experience in when and how to use multithreading, together with expert advice and working examples in C++ and MFC. The CD-ROM includes the code and sample applications from the book, including code that works with Internet Winsock.
Windows NT is coming back as a subject. This book brings multithreading to the Windows NT operating system. It covers a specialized area of interest to programmers--multitasking computer operations. One current application that the authors cover is video on demand, bringing together the cable and movie industries.
Master the essentials of concurrent programming,including testingand debugging This textbook examines languages and libraries for multithreadedprogramming. Readers learn how to create threads in Java and C++,and develop essential concurrent programming and problem-solvingskills. Moreover, the textbook sets itself apart from othercomparable works by helping readers to become proficient in keytesting and debugging techniques. Among the topics covered, readersare introduced to the relevant aspects of Java, the POSIX Pthreadslibrary, and the Windows Win32 Applications ProgrammingInterface. The authors have developed and fine-tuned this book through theconcurrent programming courses they have taught for the past twentyyears. The material, which emphasizes practical tools andtechniques to solve concurrent programming problems, includesoriginal results from the authors' research. Chaptersinclude: * Introduction to concurrent programming * The critical section problem * Semaphores and locks * Monitors * Message-passing * Message-passing in distributed programs * Testing and debugging concurrent programs As an aid to both students and instructors, class libraries havebeen implemented to provide working examples of all the materialthat is covered. These libraries and the testing techniques theysupport can be used to assess student-written programs. Each chapter includes exercises that build skills in programwriting and help ensure that readers have mastered the chapter'skey concepts. The source code for all the listings in the text andfor the synchronization libraries is also provided, as well asstartup files and test cases for the exercises. This textbook is designed for upper-level undergraduates andgraduate students in computer science. With its abundance ofpractical material and inclusion of working code, coupled with anemphasis on testing and debugging, it is also a highly usefulreference for practicing programmers.
Covers Win32 multithreading techniques that make the Windows NT software faster and more responsive. This book explains how multithreading works, and the fundamentals of the Windows NT Thread Interface, including processes, thread management, creation, termination, and prioritization.
This is a clear introduction to the basic concepts of multi-threadingcomplemented by a detailed description of the multi-threading facilities available under the UNIX and Windows operating systems. The implementation mechanisms are hidden within C++ classes, which then provide standardized interfaces to the functionality. With traditional single-threaded programming, objects serve as passive repositories of functionality that are invoked by external codemulti-threading allows objects to become active entities that independently perform their own processing.
Master the intricacies of application development with unmanaged C++ code—straight from the experts. Jeffrey Richter’s classic book is now fully revised for Windows XP, Windows Vista, and Windows Server 2008. You get in-depth, comprehensive guidance, advanced techniques, and extensive code samples to help you program Windows–based applications. Discover how to: Architect and implement your applications for both 32-bit and 64-bit Windows Create and manipulate processes and jobs Schedule, manage, synchronize and destroy threads Perform asynchronous and synchronous device I/O operations with the I/O completion port Allocate memory using various techniques including virtual memory, memory-mapped files, and heaps Manipulate the default committed physical storage of thread stacks Build DLLs for delay-loading, API hooking, and process injection Using structured exception handling, Windows Error Recovery, and Application Restart services
In-depth coverage is given of the emerging POSIX Threads library for UNIX and how to code with it. These pages explain the concepts and foundations of threads programming, including real-life constructions. The book compares and contrasts the Pthreads library with those for OS/2 and Windows NT throughout.
This practical book includes a tutorial of the entire set of Windows and .NET APIs required to write concurrent programs. Because so much of the threading and synchronization features of the platform are Windows-general, the author, Joe Duffy, focuses first on the general behavior and then on the API details of native and managed code. Interspersed among the tutorial are many difficult-to-discover, useful insights, and internal details about how things work.