Chapter 10. Integration of Fragments and Implementation of Alternatives
From Chapter 2, Managing Lots of Threads – Executors, to Chapter 8, Processing Massive Datasets with Parallel Streams – The Map and Collect Model, you implemented different examples using the most important parts of the Java concurrency API. Usually, these examples are real, but most of the times, these examples can be parts of a bigger system. For example, in Chapter 4, Getting Data from the Tasks – The Callable and Future Interfaces, you implemented an application to construct an inverted index to be used in an information retrieval system. In Chapter 6, Optimizing Divide and Conquer Solutions – The Fork/Join Framework, you implemented the k-means clustering algorithm to cluster a set of documents. However, you can implement a full information retrieval application that reads a set of documents, represents them using the vector space model, and clusters them using the K-NN algorithm. In these cases, you have different...