Proceeding with Inter-Process Communication
The previous chapter presented many features of C++20 that allow you to execute tasks in parallel. Outside of the global variables, it didn’t cover ways to communicate between processes or threads. On a system level, most of the asynchronous calls are born in the continuous communication between processes and different computer systems.
In this chapter, you will learn about the inter-process communication (IPC) interfaces that Linux provides. Through them, you will get a full picture of possibilities to cover your system and software requirements. You’ll start by learning about message queues (MQs) as a continuation of the discussion about pipes in Chapter 3. In addition, we will analyze in detail the work of the semaphore and mutex synchronization techniques. We will introduce you to some new C++20 features in this area that are easy to use, and you will no longer have to implement such yourself.
This allows us to proceed...