Mercurial > hg > blitz_stable
view src/EDU/oswego/cs/dl/util/concurrent/misc/FIFOSlot.java @ 27:511648fa4d64 Version 2.1
Version to 2.1
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Mon, 04 Jan 2010 13:00:40 +0000 |
parents | 3dc0c5604566 |
children |
line wrap: on
line source
package EDU.oswego.cs.dl.util.concurrent.misc; import EDU.oswego.cs.dl.util.concurrent.*; // demo showing one way to make special channels public class FIFOSlot implements BoundedChannel { private final Slot slot_; public FIFOSlot() { try { slot_ = new Slot(FIFOSemaphore.class); } catch (Exception ex) { ex.printStackTrace(); throw new Error("Cannot make Slot?"); } } public void put(Object item) throws InterruptedException { slot_.put(item); } public boolean offer(Object item, long msecs) throws InterruptedException { return slot_.offer(item, msecs); } public Object take() throws InterruptedException { return slot_.take(); } public Object poll(long msecs) throws InterruptedException { return slot_.poll(msecs); } public int capacity() { return 1; } public Object peek() { return slot_.peek(); } }