当前位置:嗨网首页>书籍在线阅读

23-运用线程安全的HashMap

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.7 运用线程安全的HashMap

散列表是一种允许用key映射到value的数据结构。进一步来说,它通常用一个数组来存储元素,并用散列函数来计算元素的key在数组中的对应位置。因为该数据结构有非常快速的插入、删除和查询操作,所以它在许多处理查询操作的场景下非常有用。

Java API在 MapConcurrentMap 接口上提供了不同的散列表实现。 ConcurrentMap 接口提供了线程安全和保证原子性的全部操作,因此它可以在并发程序中使用。 Concurrent HashMap 类实现了 ConcurrentMap 接口,并且增添了更多接口以外的方法。该类可以支持:

  • 完全并发读操作;
  • 高度符合预期的并发插入和删除操作。

无论是类还是接口,Java 5都已经提供了,但是Java 8开发了很多由Stream API提供的新方法。

本节将介绍如何在应用中使用 ConcurrentHashMap 类中大部分的重要方法。