Summary
In this chapter, we completed our discussion regarding multi-processing environments. As part of this chapter, we discussed the following:
- What a named semaphore is and how it can be created and used by multiple processes.
- What a named mutex is and how it should be used using a shared memory region.
- We gave an example which was about termination orchestration in which a number of processes were waiting for a sign to get terminated and the signal was received and handled by one of the processes and propagated to others. We implemented this example using shared mutexes.
- What a named condition variable is and how it can become shared and named using a shared memory region.
- We demonstrated another example of counting processes. As part of this example, we used inheritance to reduce the amount of code duplication for mutex and condition variable objects having an associated shared memory region.
- We briefly explored the differences and challenges found...