Cover image for C++ Multithreading Cookbook.
C++ Multithreading Cookbook.
Title:
C++ Multithreading Cookbook.
Author:
Ljumovic, Milos.
ISBN:
9781783289806
Personal Author:
Physical Description:
1 online resource (437 pages)
Contents:
C++ Multithreading Cookbook -- Table of Contents -- C++ Multithreading Cookbook -- Credits -- About the Author -- Acknowledgments -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers, and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Introduction to C++ Concepts and Features -- Introduction -- Creating a C++ project -- Getting ready -- How to do it... -- How it works... -- Program structure, execution flow, and runtime objects -- Getting ready -- How to do it... -- How it works... -- There's more... -- The structural programming approach -- Getting ready -- How to do it... -- How it works... -- There's more… -- Understanding the object-oriented programming approach -- Getting ready -- How to do it... -- How it works... -- There's more... -- Explaining inheritance, overloading, and overriding -- Getting ready -- How to do it... -- How it works... -- There's more... -- Understanding polymorphism -- Getting ready -- How to do it... -- How it works... -- Event handlers and Message Passing Interface -- Getting ready -- How to do it... -- Linked list, queue, and stack examples -- Getting ready -- How to do it... -- How it works... -- 2. The Concepts of Process and Thread -- Introduction -- Processes and threads -- Explaining the process model -- Getting ready -- How to do it... -- How it works... -- There's more... -- Implementation of processes -- Getting ready -- How to do it... -- How it works... -- IPC - Interprocess Communication -- Getting ready -- How to do it... -- How it works... -- There's more... -- Solving classical IPC problems -- The dining philosophers problem -- Getting ready.

How to do it... -- How it works... -- See also... -- Implementation of the thread model -- Getting ready -- How to do it... -- How it works... -- There's more... -- Thread usage -- Getting ready -- How to do it... -- How it works... -- There's more... -- Implementing threads in user space -- Getting ready -- How to do it... -- How it works... -- There's more... -- Implementing threads in the kernel -- Getting ready -- How to do it... -- How it works... -- There's more... -- 3. Managing Threads -- Introduction -- Processes versus threads -- Getting ready -- How to do it... -- How it works... -- There's more... -- Permissive versus preemptive multitasking -- Explaining the Windows Thread object -- Basic thread management -- Getting ready -- How to do it... -- How it works... -- There's more... -- Implementing threads without synchronization -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using synchronized threads -- Getting ready -- How to do it... -- How it works... -- There's more... -- Win32 synchronization objects and techniques -- Synchronization object - mutex -- Synchronization object - semaphore -- Synchronization object - event -- Synchronization object - critical section -- 4. Message Passing -- Introduction -- Explaining the Message Passing Interface -- Getting ready -- How to do it... -- How it works... -- There's more... -- Understanding a message queue -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using the thread message queue -- Getting ready -- How to do it... -- How it works... -- There's more... -- Communicating through the pipe object -- Getting ready -- How to do it... -- How it works... -- There's more... -- 5. Thread Synchronization and Concurrent Operations -- Introduction -- Pseudoparallelism -- Understanding process and thread priority -- Getting ready.

How to do it... -- How it works... -- There's more... -- The Windows dispatcher object and scheduling -- Using mutex -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using semaphore -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using event -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using critical section -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using pipes -- Getting ready -- How to do it... -- How it works... -- There's more... -- 6. Threads in the .NET Framework -- Introduction -- Managed versus unmanaged code -- How threading works in .NET -- Getting ready -- How to do it... -- How it works... -- There's more... -- The difference between foreground and background threads -- Getting ready -- How to do it... -- How it works... -- There's more... -- Understanding the .NET synchronization essentials -- Getting ready -- How to do it... -- How it works... -- There's more... -- Locking and avoiding deadlocks -- Getting ready -- How to do it... -- How it works... -- There's more... -- Thread safety and types of the .NET framework -- Signaling with event wait handles -- Getting ready -- How to do it... -- How it works... -- There's more... -- Event-based Asynchronous Pattern -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using the BackgroundWorker class -- Getting ready -- How to do it... -- How it works... -- There's more... -- Interrupting, aborting, and safe canceling the thread execution -- Getting ready -- How to do it... -- How it works... -- Safe cancelation -- Getting ready -- How to do it... -- How it works... -- There's more... -- Non-blocking synchronization -- Signaling with Wait and Pulse -- Getting ready -- How to do it... -- How it works... -- There's more... -- The Barrier class.

Getting ready -- How to do it... -- How it works... -- There's more... -- 7. Understanding Concurrent Code Design -- Introduction -- How to design parallel applications -- Understanding parallelism in code design -- Getting ready -- How to do it... -- How it works... -- There's more... -- Turning on to a parallel approach -- Getting ready -- How to do it... -- How it works... -- There's more... -- Improving the performance factors -- Getting ready -- How to do it... -- How it works... -- There's more... -- See also -- 8. Advanced Thread Management -- Introduction -- Using thread pools -- Getting ready -- How to do it... -- How it works... -- There's more... -- Customizing the thread pool dispatcher -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using remote threading -- Getting ready -- How to do it... -- How it works... -- See also... -- A. Appendix -- Installing MySQL Connector/C -- Installing WinDDK - Driver Development Kit -- Setting up a Visual Studio project for driver compilation -- Using the DebugView application -- Setting up a Visual Studio project for OpenMP compilation -- Index.
Abstract:
The book is an easy-to-follow guide for creating multi-threaded applications using C++. Each topic is thoroughly explained with multiple illustrations. Many algorithms, such as Dinning Philosophers Problem give you thorough explanations that will help you to understand and solve concurrent tasks. The book is intended for enterprise developers and programmers who wish to make use of C++ capabilities to learn the multithreaded approach. Knowledge of multithreading along with experience in C++ is an added advantage. However it is not a prerequisite.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: