深入并发数据结构与同步工具及文档聚类应用实现
1. 并发应用的关键组件
并发应用通常包含两个重要组件:数据结构和同步机制。
- 数据结构 :每个程序都会利用数据结构在内存中存储待处理的信息。在 Java 8 并发 API 中,对 ConcurrentHashMap
类以及实现 Collection
接口的类引入了新特性。
- 同步机制 :当多个并发任务想要修改数据时,同步机制可保护数据;必要时,还能控制任务的执行顺序。Java 8 并发 API 中的 CompletableFuture
就是这样一种新特性。
2. 大型组件同步机制
大型计算机应用由多个组件协同工作以实现所需功能,这些组件之间需要进行同步和通信。当要同步的组件本身也是并发系统,且可能使用不同机制实现并发时,任务组织会更加复杂。此时,可以使用以下两种机制进行同步和通信:
- 共享内存 :系统通过共享数据结构来传递信息。
- 消息传递 :一个系统向一个或多个系统发送消息,有以下两种类型:
- 同步消息传递 :发送消息的类会等待接收者处理完消息。
- 异步消息传递 :发送消息的类不会等待接收者处理消息。
下面是这两种机制的对比表格:
| 机制 | 特点 | 示例 |
| — | — | — |
|