JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent.locks
Ŭ·¡½º AbstractQueuedSynchronizer.ConditionObject

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Condition
Æ÷ÇԵǾî Àִ Ŭ·¡½º:
AbstractQueuedSynchronizer

public class AbstractQueuedSynchronizer.ConditionObject
extends Object
implements Condition, Serializable

Lock ±¸ÇöÀÇ ±â¹ÝÀ¸·Î¼­ ±â´ÉÇÏ´Â AbstractQueuedSynchronizer »óÅ ±¸Çö

ÀÌ Å¬·¡½ºÀÇ ¸Þ¼­µå ¹®¼­¿¡´Â Lock ¹× Condition »ç¿ëÀÚ ·ÎºÎÅÍ º» µ¿ÀÛ »ç¾çÀº ¾Æ´Ï°í, ³»ºÎ µµ±¸°¡ ±âÀçµÇ¾î ÀÖ½À´Ï´Ù. º¸Åë, ÀÌ Å¬·¡½ºÀÇ export µÈ ¹öÀü¿¡ ´Â °ü·ÃµÈ AbstractQueuedSynchronizer »óÅ ½Ã¸àƽ½º¸¦ ±â¼úÇÑ ¹®¼­¸¦ ÷ºÎÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÀÌ Å¬·¡½º´Â Serializable ÀÔ´Ï´Ù¸¸, ¸ðµç Çʵå´Â ÀϽà ÇʵåÀ̱⠶§¹®¿¡ Á÷·ÄÈ­ º¹¿øµÈ »óÅ¿¡¼­´Â ´ë±âÀÚ´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.

°ü·Ã Ç׸ñ:
Á÷·ÄÈ­ µÈ Çü½Ä

»ý¼ºÀÚ °³¿ä
AbstractQueuedSynchronizer.ConditionObject ()
          »õ·Î¿î ConditionObject ÀνºÅϽº¸¦ »ý¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void await ()
          ³¢¾îµé¾î °¡´ÉÇÑ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
 boolean await (long time, TimeUnit  unit)
          ½Ã°£ÀÇ ÁöÁ¤µÈ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
 long awaitNanos (long nanosTimeout)
          ½Ã°£ÀÇ ÁöÁ¤µÈ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
 void awaitUninterruptibly ()
          ³¢¾îµé¾î ºÒ°¡´ÉÇÑ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
 boolean awaitUntil (Date  deadline)
          Àý´ë ½Ã°£ÀÇ ÁöÁ¤µÈ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
protected  Collection <Thread > getWaitingThreads ()
          ÀÌ Condition ·Î ´ë±âÇÏ°í ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Â thread¸¦ Æ÷ÇÔÇÑ Ä÷º¼ÇÀ» ¸®ÅÏÇÕ´Ï´Ù.
protected  int getWaitQueueLength ()
          ÀÌ »óÅ·Π´ë±âÁßÀÇ threadÀÇ ÃßÁ¤¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
protected  boolean hasWaiters ()
          ÀÌ »óÅ·Π´ë±âÁßÀÇ thread°¡ Á¸ÀçÇÒÁö ¾î¶³Áö¸¦ Á¶È¸ÇÕ´Ï´Ù.
 void signal ()
          °¡Àå ±æ°Ô ´ë±âÇÏ°í ÀÖ´Â thread°¡ Á¸ÀçÇÏ´Â °æ¿ì, ±×°ÍÀ» ÀÌ »óÅÂÀÇ ´ë±â Å¥·ÎºÎÅÍ ¼ÒÀ¯ÇÏ´Â ¶ôÀÇ ´ë±â Å¥·Î À̵¿ÇÕ´Ï´Ù.
 void signalAll ()
          ¸ðµç thread¸¦, ÀÌ »óÅÂÀÇ ´ë±â Å¥·ÎºÎÅÍ ¼ÒÀ¯ÇÏ´Â ¶ôÀÇ ´ë±â Å¥·Î À̵¿ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

AbstractQueuedSynchronizer.ConditionObject

public AbstractQueuedSynchronizer.ConditionObject()
»õ·Î¿î ConditionObject ÀνºÅϽº¸¦ »ý¼ºÇÕ´Ï´Ù.

¸Þ¼­µåÀÇ »ó¼¼

signal

public final void signal()
¹«¾ùº¸´Ù ±æ°Ô ´ë±âÇÏ°í ÀÖ´Â thread°¡ Á¸ÀçÇÏ´Â °æ¿ì, ±×°ÍÀ» ÀÌ »óÅÂÀÇ ´ë±â Å¥·ÎºÎÅÍ ¼ÒÀ¯ÇÏ´Â ¶ôÀÇ ´ë±â Å¥·Î À̵¿ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Condition ³»ÀÇ signal
¿¹¿Ü:
IllegalMonitorStateException - AbstractQueuedSynchronizer.isHeldExclusively() °¡ false¸¦ µ¹·ÁÁÖ´Â °æ¿ì

signalAll

public final void signalAll()
¸ðµç thread¸¦, ÀÌ »óÅÂÀÇ ´ë±â Å¥·ÎºÎÅÍ ¼ÒÀ¯ÇÏ´Â ¶ôÀÇ ´ë±â Å¥·Î À̵¿ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Condition ³»ÀÇ signalAll
¿¹¿Ü:
IllegalMonitorStateException - AbstractQueuedSynchronizer.isHeldExclusively() °¡ false¸¦ µ¹·ÁÁÖ´Â °æ¿ì

awaitUninterruptibly

public final void awaitUninterruptibly()
³¢¾îµé¾î ºÒ°¡´ÉÇÑ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
  1. AbstractQueuedSynchronizer.getState() ¿¡ ÀÇÇØ ¸®ÅÏµÈ ¶ô »óŸ¦ º¸Á¸ÇÑ´Ù.
  2. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ AbstractQueuedSynchronizer.release(int)¸¦ È£ÃâÇÑ´Ù. ½ÇÆÐÇßÀ» °æ¿ì´Â IllegalMonitorStateExceptionÀ» Throw ÇÑ´Ù.
  3. ½ÅÈ£°¡ º¸³»Áú ¶§±îÁö ºí·Ï ÇÑ´Ù.
  4. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ Ư¼öÇÑ ¹öÀüÀÇ AbstractQueuedSynchronizer.acquire(int)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÃëµæÀ» Àç½ÇÇàÇÑ´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Condition ³»ÀÇ awaitUninterruptibly

await

public final void await()
                 throws InterruptedException 
³¢¾îµé¾î °¡´ÉÇÑ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
  1. ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®¸¦ ÇßÀ» °æ¿ì´Â InterruptedExceptionÀ» Throw ÇÑ´Ù.
  2. AbstractQueuedSynchronizer.getState() ¿¡ ÀÇÇØ ¸®ÅÏµÈ ¶ô »óŸ¦ º¸Á¸ÇÑ´Ù.
  3. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ AbstractQueuedSynchronizer.release(int)¸¦ È£ÃâÇÑ´Ù. ½ÇÆÐÇßÀ» °æ¿ì´Â IllegalMonitorStateExceptionÀ» Throw ÇÑ´Ù.
  4. ½ÅÈ£°¡ ¼Û½ÅµÇ´ÂÁö, ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÒ ¶§±îÁö ºí·Ï ÇÑ´Ù.
  5. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ Ư¼öÇÑ ¹öÀüÀÇ AbstractQueuedSynchronizer.acquire(int)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÃëµæÀ» Àç½ÇÇàÇÑ´Ù.
  6. ½ºÅÜ 4 ºí·ÏÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì´Â ¿¹¿Ü¸¦ Throw ÇÑ´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Condition ³»ÀÇ await
¿¹¿Ü:
InterruptedException - ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´Â ( ¹× thread Áß´ÜÀÇ ÀÎÅÍ·´Æ®°¡ Áö¿ø µÈ´Ù) °æ¿ì

awaitNanos

public final long awaitNanos(long nanosTimeout)
                      throws InterruptedException 
½Ã°£ÀÇ ÁöÁ¤µÈ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
  1. ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®¸¦ ÇßÀ» °æ¿ì´Â InterruptedExceptionÀ» Throw ÇÑ´Ù.
  2. AbstractQueuedSynchronizer.getState() ¿¡ ÀÇÇØ ¸®ÅÏµÈ ¶ô »óŸ¦ º¸Á¸ÇÑ´Ù.
  3. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ AbstractQueuedSynchronizer.release(int)¸¦ È£ÃâÇÑ´Ù. ½ÇÆÐÇßÀ» °æ¿ì´Â IllegalMonitorStateExceptionÀ» Throw ÇÑ´Ù.
  4. ½ÅÈ£°¡ ¼Û½ÅµÇ´ÂÁö, ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´ÂÁö, ŸÀÓ ¾Æ¿ô ÇÒ ¶§±îÁö ºí·Ï ÇÑ´Ù.
  5. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ Ư¼öÇÑ ¹öÀüÀÇ AbstractQueuedSynchronizer.acquire(int)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÃëµæÀ» Àç½ÇÇàÇÑ´Ù.
  6. ½ºÅÜ 4 ºí·ÏÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì´Â InterruptedExceptionÀ» Throw ÇÑ´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Condition ³»ÀÇ awaitNanos
ÆĶó¹ÌÅÍ:
nanosTimeout - ³ª³ëÃÊ´ÜÀ§ÀÇ ´ë±â ½Ã°£
¹Ýȯ°ª:
´ë±â°¡ ŸÀÓ ¾Æ¿ô ÇßÀ» °æ¿ì´Â Á¦·Î ¾Æ·¡ÀÇ °ª. ±×·¸Áö ¾ÊÀº °æ¿ì´Â ÀÌ ¸Þ¼­µåÀÇ º¹±Í½ÃÀÇ ÃßÁ¤ ³²Àº ½Ã°£ (nanosTimeout Àμöº¸´Ù Ç×»ó ÀÛÀº °ªÀÌ µÈ´Ù)
¿¹¿Ü:
InterruptedException - ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´Â ( ¹× thread Áß´ÜÀÇ ÀÎÅÍ·´Æ®°¡ Áö¿ø µÈ´Ù) °æ¿ì

awaitUntil

public final boolean awaitUntil(Date  deadline)
                         throws InterruptedException 
Àý´ë ½Ã°£ÀÇ ÁöÁ¤µÈ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
  1. ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®¸¦ ÇßÀ» °æ¿ì´Â InterruptedExceptionÀ» Throw ÇÑ´Ù.
  2. AbstractQueuedSynchronizer.getState() ¿¡ ÀÇÇØ ¸®ÅÏµÈ ¶ô »óŸ¦ º¸Á¸ÇÑ´Ù.
  3. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ AbstractQueuedSynchronizer.release(int)¸¦ È£ÃâÇÑ´Ù. ½ÇÆÐÇßÀ» °æ¿ì´Â IllegalMonitorStateExceptionÀ» Throw ÇÑ´Ù.
  4. ½ÅÈ£°¡ ¼Û½ÅµÇ´ÂÁö, ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´ÂÁö, ŸÀÓ ¾Æ¿ô ÇÒ ¶§±îÁö ºí·Ï ÇÑ´Ù.
  5. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ Ư¼öÇÑ ¹öÀüÀÇ AbstractQueuedSynchronizer.acquire(int)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÃëµæÀ» Àç½ÇÇàÇÑ´Ù.
  6. ½ºÅÜ 4 ºí·ÏÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì´Â InterruptedExceptionÀ» Throw ÇÑ´Ù.
  7. ½ºÅÜ 4 ºí·ÏÁß¿¡ ŸÀÓ ¾Æ¿ô ÇßÀ» °æ¿ì´Â false¸¦ µ¹·ÁÁÖ°í, ±×·¸Áö ¾ÊÀº °æ¿ì´Â true¸¦ µ¹·ÁÁØ´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Condition ³»ÀÇ awaitUntil
ÆĶó¹ÌÅÍ:
deadline - ´ë±âÇÏ´Â Àý´ë ½Ã°£
¹Ýȯ°ª:
º¹±Í½Ã¿¡ ±âÇÑÀÌ °æ°úÇÏ°í ÀÖ´Â °æ¿ì´Â false, ±×·¸Áö ¾ÊÀº °æ¿ì´Â true
¿¹¿Ü:
InterruptedException - ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´Â ( ¹× thread Áß´ÜÀÇ ÀÎÅÍ·´Æ®°¡ Áö¿ø µÈ´Ù) °æ¿ì

await

public final boolean await(long time,
                           TimeUnit  unit)
                    throws InterruptedException 
½Ã°£ÀÇ ÁöÁ¤µÈ »óÅ ´ë±â¸¦ ±¸ÇöÇÕ´Ï´Ù.
  1. ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®¸¦ ÇßÀ» °æ¿ì´Â InterruptedExceptionÀ» Throw ÇÑ´Ù.
  2. AbstractQueuedSynchronizer.getState() ¿¡ ÀÇÇØ ¸®ÅÏµÈ ¶ô »óŸ¦ º¸Á¸ÇÑ´Ù.
  3. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ AbstractQueuedSynchronizer.release(int) À» È£ÃâÇÑ´Ù. ½ÇÆÐÇßÀ» °æ¿ì´Â IllegalMonitorStateExceptionÀ» Throw ÇÑ´Ù.
  4. ½ÅÈ£°¡ ¼Û½ÅµÇ´ÂÁö, ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´ÂÁö, ŸÀÓ ¾Æ¿ô ÇÒ ¶§±îÁö ºí·Ï ÇÑ´Ù.
  5. º¸Á¸ ³¡³­ »óŸ¦ Àμö·Î¼­ Ư¼öÇÑ ¹öÀüÀÇ AbstractQueuedSynchronizer.acquire(int)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÃëµæÀ» Àç½ÇÇàÇÑ´Ù.
  6. ½ºÅÜ 4 ºí·ÏÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì´Â InterruptedExceptionÀ» Throw ÇÑ´Ù.
  7. ½ºÅÜ 4 ºí·ÏÁß¿¡ ŸÀÓ ¾Æ¿ô ÇßÀ» °æ¿ì´Â false¸¦ µ¹·ÁÁÖ°í, ±×·¸Áö ¾ÊÀº °æ¿ì´Â true¸¦ µ¹·ÁÁØ´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Condition ³»ÀÇ await
ÆĶó¹ÌÅÍ:
time - ´ë±âÇÏ´Â ÃÖÀå ½Ã°£
unit - time ÀμöÀÇ ½Ã°£ ´ÜÀ§
¹Ýȯ°ª:
¸Þ¼­µå·ÎºÎÅÍÀÇ º¹±ÍÀü¿¡ ´ë±â ½Ã°£ÀÌ °æ°úÇß´ø °ÍÀÌ °ËÃâµÇ¾úÀ» °æ¿ì´Â false, ±×·¸Áö ¾ÊÀº °æ¿ì´Â true
¿¹¿Ü:
InterruptedException - ÇöÀçÀÇ thread·Î ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´Â ( ¹× thread Áß´ÜÀÇ ÀÎÅÍ·´Æ®°¡ Áö¿ø µÈ´Ù) °æ¿ì

hasWaiters

protected final boolean hasWaiters()
ÀÌ »óÅ·Π´ë±âÁßÀÇ thread°¡ Á¸ÀçÇÒÁö ¾î¶³Áö¸¦ Á¶È¸ÇÕ´Ï´Ù. AbstractQueuedSynchronizer.hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)¸¦ ±¸ÇöÇÕ´Ï´Ù.

¹Ýȯ°ª:
´ë±âÁßÀÇ thread°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â true
¿¹¿Ü:
IllegalMonitorStateException - AbstractQueuedSynchronizer.isHeldExclusively() °¡ false¸¦ µ¹·ÁÁÖ´Â °æ¿ì

getWaitQueueLength

protected final int getWaitQueueLength()
ÀÌ »óÅ·Π´ë±âÁßÀÇ threadÀÇ ÃßÁ¤¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. AbstractQueuedSynchronizer.getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)¸¦ ±¸ÇöÇÕ´Ï´Ù.

¹Ýȯ°ª:
´ë±âÁßÀÇ threadÀÇ ÃßÁ¤¼ö
¿¹¿Ü:
IllegalMonitorStateException - AbstractQueuedSynchronizer.isHeldExclusively() °¡ false¸¦ µ¹·ÁÁÖ´Â °æ¿ì

getWaitingThreads

protected final Collection <Thread > getWaitingThreads()
ÀÌ Condition ·Î ´ë±âÇÏ°í ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Â thread¸¦ Æ÷ÇÔÇÑ Ä÷º¼ÇÀ» ¸®ÅÏÇÕ´Ï´Ù. AbstractQueuedSynchronizer.getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject)¸¦ ±¸ÇöÇÕ´Ï´Ù.

¹Ýȯ°ª:
threadÀÇ Ä÷º¼Ç
¿¹¿Ü:
IllegalMonitorStateException - AbstractQueuedSynchronizer.isHeldExclusively() °¡ false¸¦ µ¹·ÁÁÖ´Â °æ¿ì

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.