
com.weicoder.common.lang.Queues Maven / Gradle / Ivy
package com.weicoder.common.lang;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.LinkedBlockingQueue;
import com.weicoder.common.interfaces.CallbackList;
import com.weicoder.common.interfaces.CallbackVoid;
import com.weicoder.common.queue.AsynQueue;
import com.weicoder.common.queue.AsynQueueList;
import com.weicoder.common.util.MathUtil;
import com.weicoder.common.queue.OnlyQueue;
/**
* 队列相关方法
*
* @author WD
*/
public class Queues {
/**
* 生成新的队列
*
* @return 并发列表队列
*/
public static ConcurrentLinkedQueue newConcurrentQueue() {
return new ConcurrentLinkedQueue();
}
/**
* 生成新的堵塞队列
*
* @return 列表堵塞队列
*/
public static LinkedBlockingQueue newLinkedBlockingQueue() {
return new LinkedBlockingQueue();
}
/**
* 生产唯一元素并发队列
*
* @return 唯一元素并发队列
*/
public static OnlyQueue newOnlyQueue() {
return new OnlyQueue();
}
/**
* 生产异步更新并发队列
*
* @return 异步更新并发队列
*/
public static AsynQueue newAsynQueue(Queue queue, CallbackVoid callback, long time) {
return new AsynQueue(queue, callback, time);
}
/**
* 生产异步更新并发队列
*
* @return 异步更新并发队列
*/
public static AsynQueue newAsynQueue(Queue queue, CallbackVoid callback, int time) {
return newAsynQueue(queue, callback, MathUtil.multiply(time, 1000).longValue());
}
/**
* 生产异步更新并发队列
*
* @return 异步更新并发队列
*/
public static AsynQueueList newAsynQueueList(Queue queue, CallbackList callback, long time) {
return new AsynQueueList(queue, callback, time);
}
/**
* 生产异步更新并发队列
*
* @return 异步更新并发队列
*/
public static AsynQueueList newAsynQueueList(Queue queue, CallbackList callback, int time) {
return newAsynQueueList(queue, callback, MathUtil.multiply(time, 1000).longValue());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy