Mercurial > hg > blitz_condensed
view src/EDU/oswego/cs/dl/util/concurrent/misc/FIFOSlot.java @ 0:3dc0c5604566
Initial checkin of blitz 2.0 fcs - no installer yet.
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Sat, 21 Mar 2009 11:00:06 +0000 |
parents | |
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(); } }