Summary
In this book, you implemented a lot of real-world examples. Some of these examples can be used as a part of a bigger system. These bigger systems normally have different concurrent parts that must share information and be synchronized between them. To make that synchronization, we can use three mechanisms: the shared memory, when two or more tasks share an object or data structure, asynchronous message passing, when a task sends a message to another task and doesn't wait for its processing, and synchronous message passing, when a task sends a message to another task and waits for its processing.
In this chapter, we implemented an application to cluster documents formed by four subsystems. We used the mechanisms presented earlier to synchronize and share information between those four subsystems.
We also revised some of the examples presented in the book to discuss other alternatives to their implementation.
In the next chapter, you will learn how to obtain debug information of...