Java复习笔记——并发工具包 java.util.concurrent(一)

阻塞队列BlockingQueue

阻塞队列通常用于一个队列生产,另一个队列消费的情况。因为Queue只能一个线程生产每一个线程消费,进入的数据只能先进先出。

个人感觉这个队列的用法和set以及list有点类似,应该算是collection的并发工具。BlockingQueue的实现类有以下几个:ArrayBlockingQueueDelayQueueLinkedBlockingQueuePriorityBlockingQueueSynchronizedQueue

ArrayBlockingQueue

有限数组阻塞队列,初始的时候需要制定容量,并且这个阻塞队列是长度有限的。

DelayQueue

延迟阻塞队列。使用这个队列的时候,传输的对象需要实现Delayed接口。而因为Delayed本身已经继承了comparable接口,所以在实现的时候需要重写两个方法,一个是getDelayed(),一个是compareTo()getDelayed需要用到TimeUnit类,这个类是对线程的操作做简单的封装的枚举,简化对线程的操作。如果getDelayed返回0或者负数,那么这个数据就被认为是过期。

LinkedBlockingQueue:BlockingQueue以链表形式实现BlockingQueue

PriorityBlockingQueue这个是无界的并发队列,不允许null值。

 

参考:

  1. java并发基础知识:http://tutorials.jenkov.com/java-concurrency/index.html
  2. 2.TimeUnit的使用:https://www.cnblogs.com/zhaoyanjun/p/5486726.html

并发工具包——currenthttps://blog.csdn.net/axi295309066/article/details/65665090
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值