⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emailqueue.java

📁 短信发送
💻 JAVA
字号:
/**
 * Created at Dec 4, 2008
 */
package com.jdev.app.db.queue;

import java.util.LinkedList;

/**
 * <p>Title: EmailQueue</p>
 * <p>Description: </p>
 * @author Lawrence
 * @version 
 */
public class EmailQueue {
	private final static String module = SmsQueue.class.getName();
	private LinkedList<Object> recvList = new LinkedList<Object>();
	private LinkedList<Object> sendList = new LinkedList<Object>();

	public int getSendRecord(){
		int count = 0;
		synchronized(sendList){
			count = sendList.size();
		}
		return count;
	}

	public int getRecvRecord(){
		int count = 0;
		synchronized(recvList){
			count = recvList.size();
		}
		return count;
	}
	
	public void pushSend(Object sendMsg) {
		synchronized (sendList) {
			sendList.add(sendMsg);
			sendList.notifyAll();
		}
	}

	public Object removeSendFirst() {
		synchronized (sendList) {
			// 如果没有任务,就锁定在这里
			while (sendList.isEmpty()) {
				try {
					sendList.wait(); //等待解锁
				} catch (InterruptedException ie) {
					ie.printStackTrace();
				}
			}
			return sendList.removeFirst();
		}
	}
	
	public void pushRecv(Object recvMsg) {
		synchronized (recvList) {
			recvList.add(recvMsg);
			recvList.notifyAll();
		}
	}

	public Object removeRecvFirst() {
		synchronized (recvList) {
			// 如果没有任务,就锁定在这里
			while (recvList.isEmpty()) {
				try {
					recvList.wait(); //等待解锁
				} catch (InterruptedException ie) {
					ie.printStackTrace();
				}
			}
			return recvList.removeFirst();
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -