public class TimedCachedBlockingQueue<T> extends Object
没到时间先缓存到Bag里面,Bag 有大小。 如果Bag 满则 打包发送到 Queue。
Bag 没满但是有值,到时间也会被发送到Queue中
| 限定符和类型 | 类和说明 |
|---|---|
static class |
TimedCachedBlockingQueue.Bag<T>
背包
|
| 构造器和说明 |
|---|
TimedCachedBlockingQueue(String name,
int interval,
TimeUnit timeUnit,
int batchSize,
int queueSize)
总数量为 batchSize * queueSize
|
| 限定符和类型 | 方法和说明 |
|---|---|
TimedCachedBlockingQueue.Bag<T> |
poll(long timeout,
TimeUnit timeUnit)
拉取背包(注意该方法不能使用 synchronized, 会和 put 方法发生死锁)
|
TimedCachedBlockingQueue |
put(T t)
放入元素(阻塞)
|
public TimedCachedBlockingQueue put(T t) throws InterruptedException
t - a T objectTimedCachedBlockingQueue objectInterruptedException - if any.public TimedCachedBlockingQueue.Bag<T> poll(long timeout, TimeUnit timeUnit) throws InterruptedException
timeout - a longtimeUnit - a TimeUnit objectTimedCachedBlockingQueue.Bag objectInterruptedException - if any.Copyright © 2023. All rights reserved.