|
|||||||||||
| 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
ClosedQueueExceptionpublic 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 | ||||||||||