C++ Multithreading Cookbook By Milos Ljumovic.
Creating multithreaded applications is a present-day approach towards programming. Developers expect their applications to be user friendly, with a rich interface and concurrent execution. The power of the C++ language alongside the native Win32 API features will give you a head start over all other languages and frameworks. With the power of C++, you can easily create various types of applications and perform parallelism and optimizations in your existing work.
This book is a practical, powerful, and easy-to-understand guide to C++ multithreading. You will learn how to benefit from the multithreaded approach and enhance your development skills to build better applications. This book will not only help you avoid problems when creating parallel code, but also help you understand synchronization techniques in detail. The book also covers the Windows process model alongside scheduling techniques and Interprocess Communication. Starting from the basics, you will be introduced to the most powerful Integrated Development Environment ever made, that is Microsoft Visual Studio. You will then learn to use the native features of a Windows kernel as well as the characteristics of the .NET framework. You will then understand how to solve some common concurrent problems and learn how to properly think in a multithreaded environment.
Using mutexes, semaphores, critical sections, monitors, events, and pipes, you will learn the most efficient way of synchronization in your C++ application. The book will teach you the best possible approach to learn concurrency in C++.
Using the C++ native calls, the book will show you how to leverage machine hardware for optimum performance. The end goal of the book is to impart various multithreading concepts that will enable you to do parallel computing and concurrent programming quickly and efficiently.
What this book covers
Chapter 1, Introduction to C++ Concepts and Features, introduces the C++ programming
language along with its large number of features. It focuses on concepts such as the structure
of the program, execution flow, and Windows OS runtime objects. The structural and objectoriented approach is also covered in detail.
Chapter 2, The Concepts of Process and Thread, covers process and thread objects in detail.
The idea behind the process model and implementation of Windows processes are covered
thoroughly. We go through Interprocess Communication along with classical IPC problems.
We then go through the overview of thread implementation in the user space as well as in
Chapter 3, Managing Threads, gives you the logic behind the process and the thread. We cover Windows OS features such as permissive and preemptive multitasking. We also cover thread synchronization and synchronization objects and techniques in detail.
Chapter 4, Message Passing, focuses on message-passing techniques, window handlers, along with message queues and pipe communication. Chapter 5, Thread Synchronization and Concurrent Operations, talks about parallelism, priority, the dispatcher object, and scheduling techniques. We also explain synchronization objects such as mutex, semaphore, event, and critical section.
Chapter 6, Threads in the .NET Framework, gives an overview of the C++/CLI .NET thread object. We briefly cover the Managed approach, .NET synchronization essentials, .NET thread safety, event-based asynchronous pattern, and the BackgroundWorker object along with some other topics.
Chapter 7, Understanding Concurrent Code Design, covers features such as performance factors, correctness, and liveness problems. In this chapter, users can find a better perspective of concurrency and parallel application design.
Chapter 8, Advanced Thread Management, focuses on a higher aspect of thread management. Abstractions of the thread pool, along with a custom dispatching object with deadlock resolution are covered in detail. Remote threading is given as a final example ofadvanced management.
Appendix covers the Installation of MySQL Connector C and WinDDK—Driver Development Kit. Other than that it contains the setting Visual Studio project for driver compilation as well as for OpenMP compilation. It covers the installation of DebugView application and shows the steps to use it.
You May Also Like:
C++ Multithreading Cookbook By Milos Ljumovic pdf download.
Size: 2.8 MiB