|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.util.AbstractCollection <E>
java.util.AbstractQueue <E>
java.util.concurrent.SynchronousQueue<E>
E
- Ä÷º¼Ç³»¿¡ Á¸ÀçÇÏ´Â ¿ä¼ÒÀÇ ÇüÅÂpublic class SynchronousQueue<E>
°¢ put°¡ take¸¦ ´ë±âÇØ, ±× ¿ªµµ ½ÇÇàÇÒ Çʿ䰡 Àִºí·Ï Å¥ . µ¿±â Å¥´Â ³»ºÎ ¿ë·®À» ÀÏÀý °¡ÁöÁö ¾Ê½À´Ï´Ù. ¿ä¼Ò´Â ÃëµæÀ» ½ÃµµÇصµ Á¸ÀçÇÒ »ÓÀ̱⠶§¹®¿¡ µ¿±â Å¥·Î peek¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. ´Ù¸¥ thread°¡ »èÁ¦¸¦ ½ÃµµÇÏÁö ¾ÊÀº ÇÑ, ¾î´À ¸Þ¼µå¸¦ »ç¿ëÇØµµ ¿ä¼Ò¸¦ Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù. ¹Ýº¹ÇÏ´Â °ÍÀÌ Á¸ÀçÇÏÁö ¾Ê±â ¶§¹®¿¡ ¹Ýº¹Àº ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. Å¥ÀÇ ¡¸¼±µÎ¡¹´Â ÃÖÃʷΠť¿¡ ³Ö¾îÁø thread°¡ Å¥¿¡ Ãß°¡¸¦ ½ÃµµÇÏ´Â ¿ä¼ÒÀÔ´Ï´Ù. Å¥¿¡ ³Ö¾îÁø thread°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, Ãß°¡µÇ´Â ¿ä¼Ò´Â Á¸ÀçÇÏÁö ¾Ê°í, ¼±µÎ´Â null°¡ µË´Ï´Ù. ´Ù¸¥ Collection ¸Þ¼µå (¿¹¸¦ µé¾î contains)¸¦ À§Çؼ SynchronousQueue´Â ºñ¾îÀÖ´Â Ä÷º¼ÇÀ¸·Î¼ µ¿ÀÛÇÕ´Ï´Ù. ÀÌ Å¥´Â null ¿ä¼Ò¸¦ Çã°¡ÇÏÁö ¾Ê½À´Ï´Ù.
µ¿±â Å¥´Â CSP ³ª Ada ·Î »ç¿ëµÇ´Â ·± ¶×¶×ÀÌ Ã¤³ÎÀ» ´à¾Æ ÀÖ½À´Ï´Ù. À̰͵éÀº Á¤º¸³ª À̺¥Æ®, ŽºÅ©¸¦ °Ç³×ÁÖ±â À§Çؼ ¾î´À thread·Î ½ÇÇàÁßÀÇ °´Ã¼¸¦ ´Ù¸¥ thread·Î ½ÇÇàÁßÀÇ °´Ã¼¿Í µ¿±â ½Ãų Çʿ䰡 ÀÖ´Â ÇÚµå ¿ÀÇÁ ¼³°è¿¡ ¸÷½Ã ÀûÇÕÇÕ´Ï´Ù.
ÀÌ Å¬·¡½º´Â ´ë±âÁßÀÇ ÇÁ·Îµà¼ ¹× ÄÁ½´¸Ó(consumer) threadÀÇ ¼ø¼ºÎ¸¦ °áÁ¤ÇÏ´Â ¿É¼ÇÀÇ ±Õµî¼º Á¤Ã¥¸¦ Áö¿ø ÇÕ´Ï´Ù. µðÆúÆ®¿¡¼´Â ÀÌ ¼ø¼ºÎ´Â º¸ÁõµÇÁö ¾Ê½À´Ï´Ù. ´Ù¸¸, true·Î ¼³Á¤µÈ ±Õµî¼º Á¤Ã¥¸¦ »ç¿ëÇØ ±¸ÃàµÈ Å¥¿¡¼´Â thread°¡ FIFO ¼ø¼·Î ¾×¼¼½º ÇÏ´Â °ÍÀÌ Çã°¡µË´Ï´Ù. ÀϹÝÀûÀ¸·Î ±Õµî¼º¿¡ ÀÇÇØ throughput°¡ ÀúÇÏÇÕ´Ï´Ù¸¸, º¯µ¿¼ºµµ ÀúÇÏÇϱ⠶§¹®¿¡ throughput°¡ ±Ø´ÜÀûÀ¸·Î Àû°Ô µÉ °ÍÀº ¾ø½À´Ï´Ù.
ÀÌ Å¬·¡½º¿Í ±× ¹Ýº¹ÀÚ´Â Collection
¹× Iterator
ÀÎÅÍÆäÀ̽ºÀÇ ¿É¼ÇÀÇ ¸Þ¼µå¸¦ ¸ðµÎ ±¸ÇöÇÕ´Ï´Ù.
ÀÌ Å¬·¡½º´Â Java Collections Framework ¸â¹öÀÔ´Ï´Ù.
»ý¼ºÀÚ °³¿ä | |
---|---|
SynchronousQueue ()
ºÒ±Õµî ¾×¼¼½º Á¤Ã¥¸¦ »ç¿ëÇØ, SynchronousQueue¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
|
SynchronousQueue (boolean fair)
ÁöÁ¤µÈ ±Õµî¼º Á¤Ã¥¸¦ »ç¿ëÇØ, SynchronousQueue¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
¸Þ¼µå °³¿ä | ||
---|---|---|
void |
clear ()
¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. |
|
boolean |
contains (Object o)
Ç×»ó false¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
boolean |
containsAll (Collection <? > c)
ÁöÁ¤µÈ Ä÷º¼ÇÀÌ ºñ¾îÀÖÁö ¾ÊÀº °æ¿ì, false¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
int |
drainTo (Collection <? super E > c)
ÀÌ¿ë °¡´ÉÇÑ ¸ðµç ¿ä¼Ò¸¦ ÀÌ Å¥·ÎºÎÅÍ »èÁ¦ÇØ, ÁöÁ¤µÈ Ä÷º¼Ç¿¡ Ãß°¡ÇÕ´Ï´Ù. |
|
int |
drainTo (Collection <? super E > c,
int maxElements)
ÁöÁ¤µÈ ¼öÀ̳»ÀÇ ÀÌ¿ë °¡´ÉÇÑ ¿ä¼Ò¸¦ ÀÌ Å¥·ÎºÎÅÍ »èÁ¦ÇØ, ÁöÁ¤µÈ Ä÷º¼Ç¿¡ Ãß°¡ÇÕ´Ï´Ù. |
|
boolean |
isEmpty ()
Ç×»ó true¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
Iterator <E > |
iterator ()
hasNext°¡ Ç×»ó false¸¦ µ¹·ÁÁÖ´Â ºñ¾îÀÖ´Â ¹Ýº¹ÀÚ¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
boolean |
offer (E o)
´Ù¸¥ thread°¡ ÁöÁ¤µÈ ¿ä¼ÒÀÇ ¼öÃ븦 ´ë±âÇϰí ÀÖ´Â °æ¿ì, ÀÌ Å¥¿¡ ±×°ÍÀ» »ðÀÔÇÕ´Ï´Ù. |
|
boolean |
offer (E o,
long timeout,
TimeUnit unit)
ÁöÁ¤µÈ ¿ä¼Ò¸¦ ÀÌ Å¥¿¡ »ðÀÔÇÕ´Ï´Ù. |
|
E |
peek ()
Ç×»ó nullÀ» ¸®ÅÏÇÕ´Ï´Ù. |
|
E |
poll ()
ÇöÀç, ´Ù¸¥ thread°¡ ¿ä¼Ò¸¦ ÀÌ¿ë °¡´ÉÇÏ°Ô Çϰí ÀÖ´Â °æ¿ì, ÀÌ Å¥ÀÇ ¼±µÎ¸¦ ÃëµæÇØ »èÁ¦ÇÕ´Ï´Ù. |
|
E |
poll (long timeout,
TimeUnit unit)
Å¥ÀÇ ¼±µÎ¸¦ ÃëµæÇØ »èÁ¦ÇÕ´Ï´Ù. |
|
void |
put (E o)
ÁöÁ¤µÈ ¿ä¼Ò¸¦ ÀÌ Å¥¿¡ Ãß°¡ÇÕ´Ï´Ù. |
|
int |
remainingCapacity ()
Ç×»ó Á¦·Î¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
boolean |
remove (Object o)
Ç×»ó false¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
boolean |
removeAll (Collection <? > c)
Ç×»ó false¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
boolean |
retainAll (Collection <? > c)
Ç×»ó false¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
int |
size ()
Ç×»ó Á¦·Î¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
|
E |
take ()
ÀÌ Å¥ÀÇ ¼±µÎ¸¦ ÃëµæÇØ »èÁ¦ÇÕ´Ï´Ù. |
|
Object [] |
toArray ()
±æÀÌ Á¦·ÎÀÇ ¹è¿À» ¸®ÅÏÇÕ´Ï´Ù. |
|
|
toArray (T[] a)
ÁöÁ¤µÈ ¹è¿ÀÇ Á¦·Î ¹øÂ°ÀÇ ¿ä¼Ò¸¦ null·Î ¼³Á¤ÇØ (¹è¿ÀÌ Á¦·Î°¡ ¾Æ´Ñ ±æÀ̸¦ º¸°ü À¯ÁöÇÏ´Â °æ¿ì), ±×°ÍÀ» ¸®ÅÏÇÕ´Ï´Ù. |
Ŭ·¡½º java.util. AbstractQueue ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
add,
addAll,
element,
remove |
Ŭ·¡½º java.util. AbstractCollection ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
toString |
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
ÀÎÅÍÆäÀ̽º java.util.concurrent. BlockingQueue ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
add |
ÀÎÅÍÆäÀ̽º java.util. Queue ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
element,
remove |
ÀÎÅÍÆäÀ̽º java.util. Collection ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
addAll,
equals,
hashCode |
»ý¼ºÀÚ »ó¼¼ |
---|
public SynchronousQueue()
public SynchronousQueue(boolean fair)
fair
- trueÀÎ °æ¿ì, thread´Â ¾×¼¼½ºÀÇ FIFO ¼ø¼·Î °æÇÕ ÇÑ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ¼ø¼´Â ÁöÁ¤µÇÁö ¾Ê´Â´Ù¸Þ¼µåÀÇ »ó¼¼ |
---|
public void put(E o) throws InterruptedException
BlockingQueue <E >
³»ÀÇ put
o
- Ãß°¡ÇÏ´Â ¿ä¼Ò
InterruptedException
- ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- ÁöÁ¤µÈ ¿ä¼Ò°¡ null ÀÎ °æ¿ìpublic boolean offer(E o, long timeout, TimeUnit unit) throws InterruptedException
BlockingQueue <E >
³»ÀÇ offer
o
- Ãß°¡ÇÏ´Â ¿ä¼Òtimeout
- 󸮸¦ ÁßÁöÇÒ ¶§±îÁöÀÇ ´ë±â ½Ã°£. ´ÜÀ§´Â unitunit
- timeout ÆÄ¶ó¹ÌÅÍÀÇ ÇØ¼® ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â TimeUnit
InterruptedException
- ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- ÁöÁ¤µÈ ¿ä¼Ò°¡ null ÀÎ °æ¿ìpublic E take() throws InterruptedException
BlockingQueue <E >
³»ÀÇ take
InterruptedException
- ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ìpublic E poll(long timeout, TimeUnit unit) throws InterruptedException
BlockingQueue <E >
³»ÀÇ poll
timeout
- 󸮸¦ ÁßÁöÇÒ ¶§±îÁöÀÇ ´ë±â ½Ã°£. ´ÜÀ§´Â unitunit
- timeout ÆÄ¶ó¹ÌÅÍÀÇ ÇØ¼® ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â TimeUnit
InterruptedException
- ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ìpublic boolean offer(E o)
BlockingQueue <E >
³»ÀÇ offer
Queue <E >
³»ÀÇ offer
o
- Ãß°¡ÇÏ´Â ¿ä¼Ò
NullPointerException
- ÁöÁ¤µÈ ¿ä¼Ò°¡ null ÀÎ °æ¿ìpublic E poll()
Queue <E >
³»ÀÇ poll
public boolean isEmpty()
Collection <E >
³»ÀÇ isEmpty
AbstractCollection <E >
³»ÀÇ isEmpty
public int size()
Collection <E >
³»ÀÇ size
AbstractCollection <E >
³»ÀÇ size
public int remainingCapacity()
BlockingQueue <E >
³»ÀÇ remainingCapacity
public void clear()
Collection <E >
³»ÀÇ clear
AbstractQueue <E >
³»ÀÇ clear
public boolean contains(Object o)
Collection <E >
³»ÀÇ contains
AbstractCollection <E >
³»ÀÇ contains
o
- ¿ä¼Ò
public boolean remove(Object o)
Collection <E >
³»ÀÇ remove
AbstractCollection <E >
³»ÀÇ remove
o
- »èÁ¦ÇÏ´Â ¿ä¼Ò
public boolean containsAll(Collection <? > c)
Collection <E >
³»ÀÇ containsAll
AbstractCollection <E >
³»ÀÇ containsAll
c
- Ä÷º¼Ç
AbstractCollection.contains(Object)
public boolean removeAll(Collection <? > c)
Collection <E >
³»ÀÇ removeAll
AbstractCollection <E >
³»ÀÇ removeAll
c
- Ä÷º¼Ç
AbstractCollection.remove(Object)
,
AbstractCollection.contains(Object)
public boolean retainAll(Collection <? > c)
Collection <E >
³»ÀÇ retainAll
AbstractCollection <E >
³»ÀÇ retainAll
c
- Ä÷º¼Ç
AbstractCollection.remove(Object)
,
AbstractCollection.contains(Object)
public E peek()
Queue <E >
³»ÀÇ peek
public Iterator <E > iterator()
Iterable <E >
³»ÀÇ iterator
Collection <E >
³»ÀÇ iterator
AbstractCollection <E >
³»ÀÇ iterator
public Object [] toArray()
Collection <E >
³»ÀÇ toArray
AbstractCollection <E >
³»ÀÇ toArray
public <T> T[] toArray(T[] a)
Collection <E >
³»ÀÇ toArray
AbstractCollection <E >
³»ÀÇ toArray
a
- ¹è¿
public int drainTo(Collection <? super E > c)
BlockingQueue
񃬣:
BlockingQueue <E >
³»ÀÇ drainTo
c
- ¿ä¼ÒÀÇ Àü¼ÛóÀÇ Ä÷º¼Ç
public int drainTo(Collection <? super E > c, int maxElements)
BlockingQueue
񃬣:
BlockingQueue <E >
³»ÀÇ drainTo
c
- ¿ä¼ÒÀÇ Àü¼ÛóÀÇ Ä÷º¼ÇmaxElements
- Àü¼Û ÇÏ´Â ¿ä¼ÒÀÇ ÃÖ´ë¼ö
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.