indeed, simple and elegant and would do the job for most. My application can't block on empty queue though. The oswego queue has timeout and retry features in it I need to use.
thanks much. Korosh. On Mon, 2004-01-26 at 17:08, Niclas Hedhman wrote: > On Monday 26 January 2004 13:01, korosh afshar wrote: > > Is there a one in existance ? > > > > I need to be "put"ting and "poll"ing from one that is threadsafe. > > > > I was going to start on making Doug Lee's implementation ( > > EDU.oswego.cs.dl.util.concurrent.BoundedBuffer) into a merlin component > > but thought I ask first. > > You don't need to travel over the river to pick up some water. ;o) > > You probably need the following; > > Cheers > Niclas > > public class SimpleFIFO > { > private ArrayList m_Queue; > > public SimpleFIFO() > { > m_Queue = new ArrayList(); > } > > public void clear() > { > synchronized( this ) > { > m_Queue.clear(); > } > } > > public void put( Object obj ) > { > synchronized( this ) > { > m_Queue.add( obj ); > notifyAll(); > } > } > > public Object get() > throws InterruptedException > { > synchronized( this ) > { > while( m_Queue.size() == 0 ) > wait(100); > return m_Queue.remove(0); > } > } > > public int size() > { > synchronized( this ) > { > return m_Queue.size(); > } > } > } > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]