package com.jackson.reservoir; import com.jackson.db.po.Url; import com.jackson.db.service.IDaoService; import java.util.concurrent.LinkedBlockingQueue; /** * Created by Jackson on 2016/12/27. * 用来存放url的, 在定时任务里用到 */ public class TimedUrlPool implements IDaoService<TimedUrlPool.TimedUrl> { private final LinkedBlockingQueue<TimedUrl> queueTimedUrls; public TimedUrlPool(){ queueTimedUrls = new LinkedBlockingQueue<>(); } public TimedUrl take(){ try { return queueTimedUrls.take(); } catch (InterruptedException e) { e.printStackTrace(); } return null; } public void offer(TimedUrl timedUrl){ queueTimedUrls.offer(timedUrl); } public int size(){ return queueTimedUrls.size(); } public static abstract class TimedUrl{ public abstract Url getUrl(); public abstract long getDelay(); } }