您的位置:首页 > 产品设计 > UI/UE

BlockingQueue

2016-04-28 00:04 423 查看
package com.ctrip.ctripimapp.listener;

import com.ctrip.ctripimapp.presenter.LoginPresenter;

import org.jivesoftware.smack.packet.Message;

import java.util.concurrent.ArrayBlockingQueue;

/**
* Created by zhangoceansoft on 16/4/27.
*/
public class BlockingQueue extends ArrayBlockingQueue<Message> {

/**
* 定义队列缓冲池最大消息数,如果达到该值,那么队列检入将等待检出低于该值时继续进行。
*/
private static Integer offerMaxQueue = 2000;

private static BlockingQueue instance ;

private static int capacity ;

private BlockingQueue(int capacity) {
super(capacity);
BlockingQueue.capacity=capacity;
}

/**
* 向外界程序提供的唯一的方法,访问阻塞队列。
* @return 返回唯一的阻塞队列对象
*/
public static BlockingQueue getInstance() {
if (instance == null) {
synchronized (BlockingQueue.class) {
if (instance == null) {
instance = new BlockingQueue(offerMaxQueue);
}
}
}
return instance;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java