|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.wegra.util.collection.BlockingQueue
½º·¹µå¿¡ ¾ÈÀüÇÑ Å¥·Î Å¥°¡ ºñ¾îÀÕ´Â »óÅ¿¡¼ ¿ø¼Ò¸¦ »©³»·Á°í ÇÏ¸é ºí·ÏÅ·µÇ´Â Å¥ÀÌ´Ù. LinkedList ¸¦ ºñ¹ÝÀ¸·Î ÀÛ¼ºµÇ¾î JDK 1.2 Àü ¹öÀü¿¡¼´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. ¿ë·®¿¡´Â Á¦ÇÑÀÌ ¾ø´Ù(Áï, Å¥°¡ °¡µæÂ÷¼ ºí·ÏÅ· µÇ´Â °æ¿ì´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù).
Nested Class Summary | |
static class |
BlockingQueue.Test
Å×½ºÅ©¿ë Ŭ·¡½º |
Constructor Summary | |
BlockingQueue()
Creates a BlockingQueue has unlimited size. |
|
BlockingQueue(int maxSize)
Creates a BlockingQueue has specific maximum size. |
Method Summary | |
void |
close()
ºí·ÏÅ· Å¥ÀÇ »ç¿ëÀ» Á¾·áÇÑ´Ù. |
java.lang.Object |
dequeue()
dequeue(long)¿¡ ŸÀӾƿôÀ» wegra.thread.asynch.Lock.TIMEOUT_FOREVER·Î ÁÖ¾î È£ÃâÇÑ´Ù. |
java.lang.Object |
dequeue(long timeout)
¿ø¼Ò¸¦ Å¥·ÎºÎÅÍ Á¦°ÅÇÑ´Ù. |
void |
enqueue(java.lang.Object element)
¿ø¼Ò¸¦ Å¥¿¡ Ãß°¡ÇÑ´Ù. |
void |
enqueue(java.lang.Object element,
long timeout)
ÆíÀÇ»ó ÀÛ¼ºµÈ ¸Þ¼Òµå·Î enqueue(Object, long, Runnable) ¸Þ¼ÒµåÀÇ onRemoval ÀÎÀÚ°ªÀ» null·Î ÁÖ¾î È£ÃâÇÑ´Ù. |
void |
enqueue(java.lang.Object element,
long timeout,
java.lang.Runnable onRemoval)
ÃÖ´ë "timeout" ¹Ð¸®ÃÊ µ¿¾È Å¥¿¡ ÀÖÀ» ¿ø¼Ò¸¦ Ãß°¡ÇÑ´Ù. |
void |
enqueueFinal(java.lang.Object element)
ÀÌ ¸Þ¼Òµå¸¦ ÅëÇØ ¿ø¼Ò°¡ Å¥¿¡ Ãß°¡µÇ°í ³ª¸é ÀÌÈÄ¿¡´Â ¾î¶² ¿ø¼Òµµ Å¥¿¡ Ãß°¡µÇÁö ¸øÇÏ°Ô µÈ´Ù. |
int |
getWaitingThreadsCount()
ÇöÀç Å¥¿¡¼ ¸Þ½ÃÁö¸¦ ±â´Ù¸®°í Àִ ťÀÇ °³¼ö¸¦ ¹ÝȯÇÑ´Ù. |
boolean |
isEmpty()
[ÁÖÀÇ] ±âº»ÀûÀ¸·Î isEmpty() ¸Þ¼Òµå´Â ¸ÖƼ½º·¹µå ȯ°æ¿¡¼ ½º·¹µå¿¡ ¾ÈÀüÇÏÁö ¾Ê´Ù. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public BlockingQueue()
public BlockingQueue(int maxSize)
maxSize
- maximum size of queue.Method Detail |
public void close()
public java.lang.Object dequeue() throws java.lang.InterruptedException, ClosedQueueException, TimeoutException
java.lang.InterruptedException
ClosedQueueException
TimeoutException
public java.lang.Object dequeue(long timeout) throws java.lang.InterruptedException, ClosedQueueException, TimeoutException
timeout
- ¹Ð¸®ÃÊ ´ÜÀ§ÀÇ Å¸ÀӾƿô. ¿µ¿øÈ÷ ±â´Ù¸®°í ½ÍÀ» °æ¿ì¿¡´Â
wegra.thead.asynch.Lock.TIMEOUT_FOREVER ³ª
Long.MAX_VALUE ¸¦ »ç¿ëÇÏÀÚ.
java.lang.InterruptedException
- ºí·ÏÅ·µÇ¾î ÀÖÀ» ¶§ ÀÎÅÍ·´Æ®µÇ¸é ¹ß»ýÇÑ´Ù.
wegra.thread.asynch.TimeoutException
- ºí¸¯Å·µÇ¾î ÀÖ´Â »óÅ¿¡¼
ŸÀӾƿôÀÌ °É¸®¸é ¹ß»ýÇÑ´Ù.
ClosedQueueException
- Å¥°¡ Á¾·áµÈ »óÅ¿¡¼ È£ÃâµÇ´Â °æ¿ì ¹ß»ýÇÑ´Ù.
TimeoutException
public void enqueue(java.lang.Object element) throws ClosedQueueException, QueueOverflowException
ClosedQueueException
QueueOverflowException
public void enqueue(java.lang.Object element, long timeout)
public void enqueue(java.lang.Object element, long timeout, java.lang.Runnable onRemoval)
element
- Ãß°¡µÉ ¿ø¼Òtimeout
- ¿ø¼Ò°¡ Å¥¿¡ ÃÖ´ë·Î ÀÖÀ» ¼ö ÀÖ´Â ½Ã°£.
(´õ ³ôÀº ¿ì¼± ¼øÀ§ÀÇ ½º·¹µå°¡ ½ÇÇà ÁßÀÎ °æ¿ì¿¡´Â
ŸÀӾƿôÀÌ ¹ß»ýÇÏ´Â ½Ã°£Àº Á¤È®ÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù)onRemoval
- null·Î ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì ¿ø¼Ò°¡ ŸÀӾƿô¿¡ ÀÇÇØ
Å¥·ÎºÎÅÍ Á¦°ÅµÉ ¶§ ÀÌ °´Ã¼ÀÇ run() ¸Þ¼Òµå°¡ È£ÃâµÈ´Ù.public void enqueueFinal(java.lang.Object element) throws ClosedQueueException
ClosedQueueException
public int getWaitingThreadsCount()
public boolean isEmpty()
BlockingQueue queue = new BlockingQueue(); //... if ( !queue.isEmptyt() ) { queue.dequeue(); }µû¶ó¼, ½º·¹µå¿¡ ¾ÈÀüÇϱâ À§Çؼ´Â À§ÀÇ Äڵ带 ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇØ¾ß ÇÑ´Ù.
BlockingQueue quque = new BlockingQueue(); //... synchronized( queue ) { if ( queue.isEmpty() ) { queue.dequeue(); } }À§ÀÇ ÄÚµå¿Í °°ÀÌ Çϸé Å×½ºÆ®¿Í Å¥¿¡¼ ¿ø¼Ò¸¦ »©³»´Â ÀÛ¾÷ÀÌ Â÷·ÊÂ÷·Ê ÀϾÙ.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |