java并发集合有哪些

java并发集合

       数据结构(Data Structure)是编程中的基本元素,几乎每个程序都使用了一种或多种数据结构来存储和管理数据。java API提供了包含接口、类和算法的java集合框架,它实现了可用在程序中的大量数据结构。

      当需要在并发程序中使用数据集合时,必须要谨慎地选择相应的实现方式。大多数集合类并不能直接用于并发应用,因为他们没有对本身数据的并发访问进行控制,如果一些并发任务共享一个不适用于病发任务的数据结构,将会遇到数据不一致性的错误,并将影响程序的正确运行,这类数据结构的一个例子就是ArrayList。

     java提供了一些可以用于并发程序中的数据集合,他们不会引起任何问题,一般来说,java提供了两类适用于并发应用的集合:

          (1)阻塞式集合(blocking collection):这类集合包括添加和移除数据的方法。当集合已满或者为空时,被调用的添加或者 移除方法就不能立即执行,那么调用这个饭方法的线程将被阻塞,一直到该方法可以被成功执行。

          (2)非阻塞式集合(Non-blocking collection):这类集合也包括添加和移除数据的方法。如果集合已满或者为空时,在调用添加或者移除方法时会返回null或者抛出异常,但是调用这个方法的线程不会被阻塞。

   以下就是java常用的并发集合:

非阻塞式列表对应的实现类:ConcurrentLinkedDeque

阻塞式列表对应的实现类:LinkedBlockingDeque

用于数据生成或者消费的阻塞式列表对应的实现类:LinkedTransferQueue

按优先级排序列表元素的阻塞式列表对应的实现类:PriorityBlockingQueue

带有延迟列表元素的阻塞式列表对应的实现类:DelayQueue

非阻塞式列表可遍历映射对应的饿实现类:ConcurrentSkipListMap

随机数字对应的实现类:ThreadLockRandom

原子变量对应的实现类:AtomicLong和AtomicIntegerArray


之后在对每一个并发集合类作统一讲解,描述,在这就告诉大家都多少并发集合,大家也可以自己的查查了解了解哦!


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值