简单队列的使用和取值

      发布在:未分类      评论:0 条评论

private final static Logger logger = Logger.getLogger(MeritAlertQueue.class.getName());

// 队列存储消息的最大数量

private final static int MAX_SIZE = 20;

// 保存消息数据的容器

private static ArrayBlockingQueue<String> messageQueue = new ArrayBlockingQueue<String>(MAX_SIZE);

public static void produce(String msg) {

if (messageQueue.offer(msg)) {

logger.info("成功向队列存入信息 + msg + ",当前暂存的数据数量是 + messageQueue.size());

} else {

logger.info("存入队列的数据已达到上限,不能继续放入数据!");

}

}

public static String consume() {

String msg = messageQueue.poll();

if (msg != null) {

logger.info("已经取出一条告警的数据 + msg + ",当前暂存的数据数量是 + messageQueue.size());

} else {

logger.info("队列中暂无数据");

}

return msg;

}

Responses