|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.wegra.thread.Lock
org.wegra.thread.Semaphore
ÀϹÝÀûÀÎ ¼¼¸¶Æ÷¾î¸¦ ±¸ÇöÇÑ´Ù. ¹èŸÀû ¼¼¸¶Æ÷¾î´Â Mutex¶ó´Â º°µµÀÇ Å¬·¡½º·Î Á¦°øµÇ¸ç ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº´Â ÀϹÝÀûÀ¸·Î Ä«¿îÆÃ ¼¼¸¶Æ÷¾îÀÇ ¿ªÇÒÀ» ¼öÇàÇÑ´Ù.
Constructor Summary | |
Semaphore()
Semaphore constructor comment. |
Method Summary | |
boolean |
acquire(long timeout)
¼¼¸¶Æ÷¾î¸¦ ¾ò´Â´Ù. |
boolean |
acquireAll(int number,
long timeout)
ÁöÁ¤µÈ °³¼öÀÇ ½½·ÔÀ» ¾ò´Â´Ù. |
int |
getID()
ÇØ´ç ¼¼¸¶Æ÷¾î °´Ã¤ÀÇ °íÀ¯ ID¸¦ ¹Ýȯ |
int |
getMaxSize()
ÇöÀç Ç®ÀÇ Å©±â¸¦ ¹ÝȯÇÑ´Ù. |
void |
increaseMaxSlots(int number)
ÃÖ´ë Ç®ÀÇ Å©±â¸¦ number ¸¸Å ´Ã¸°´Ù.
|
void |
release()
¼¼¸¶Æ÷¾î¸¦ ³õ¾ÆÁÖ°í Ä«¿îÆ®¸¦ Áõ°¡½ÃŲ´Ù. |
int |
release(int number)
¼¼¸¶Æ÷¾îÀÇ ½½·ÔÀ» ÇÑ ¹ø¿¡ "number"¸¸Å ³õ´Â´Ù. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Semaphore()
Method Detail |
public boolean acquire(long timeout) throws java.lang.InterruptedException, TimeoutException, java.lang.IllegalArgumentException
Runnable
°´Ã¼ÀÇ run()
¸Þ¼Òµå È£ÃâµÈ´Ù.
ÀÌ·± ¹æ½ÄÀ» »ç¿ëÇϸé Çʿ信 µû¶ó Ç®ÀÇ Å©¸®¸¦ ´Ã·ÁÁÙ ¼ö ÀÖ´Ù.
(increaseMaxSlots(int) Âü°í)
java.lang.InterruptedException
- ºí·ÏÆÃÀÌ ÀÎÅÍ·´Æ® µÇ¾úÀ» °æ¿ì
TimeoutException
- ¼¼¸¶Æ÷¾î°¡ ¾ò¾îÁö±â Àü¿¡ ŸÀӾƿôÀÌ ´Ù Áö³ª°£ °æ¿ì.
java.lang.IllegalArgumentException
public boolean acquireAll(int number, long timeout) throws java.lang.InterruptedException, TimeoutException, java.lang.IllegalArgumentException
LockManager.acquireAll()
¸¦ »ç¿ëÇÏ¸é µÈ´Ù.
Áï, ÇϳªÀÇ Semaphore
¿¡ ´ëÇÑ
¿©·¯°³ÀÇ ÂüÁ¶ÀÚ¸¦ ´ãÀº ¹è¿À» LockManagerÀÇ acquireAll()
È£Ãâ¿¡ »ç¿ëÇÏ¸é µÈ´Ù.
timeout
- ÇϳªÀÇ ½½·ÔÀ» ¾ò´Âµ¥ ±îÁö ±â´Ù¸± ÃÖ´ë½Ã°£(ms)
µû¶ó¼, ±â´Ù¸®´Âµ¥ °É¸± ¼ö ÀÖ´Â ÃÖ´ë½Ã°£Àº
timeout * number ÀÌ´Ù.
TimeoutException
- ¸¸¾à ½½·ÔÀ»¾ò°íÀÚ ÇÒ ¶§ ŸÀӾƿôÀÌ ÀϾٸé
¹ß»ý
java.lang.InterruptedException
java.lang.IllegalArgumentException
public int getMaxSize()
public void increaseMaxSlots(int number)
number
¸¸Å ´Ã¸°´Ù.
¸¸¾à »ç¿ë °¡´ÉÇÑ ½½·ÔÀÌ ¾ø´Â °æ¿ì¿´´Ù¸é ½½·ÔÀ» ¾ò±â À§ÇØ ±â´Ù¸®´Â
½º·¹µåµéÀº ±ú¾î³ª°Ô µÈ´Ù(»õ·Ó°Ô ÁöÁ¤µÈ ½½·Ô¸¶Àú ´Ù Âû¶§±îÁö).
Áï, ÀÌ ¸Þ¼Òµå´Â ÇöÀç °¡´ÉÇÑ ½½·ÔÀÇ °³¼ö¸¦ ´Ã¸®°í
release(number)
¸¦ È£ÃâÇÏ´Â °ÍÀÌ´Ù.
number
- »õ·Ó°Ô Ãß°¡ÇÒ ½½·ÔÀÇ °³¼ö. ¸¸¾à 0 ÀÌÇÏÀÇ °ªÀ¸·Î ÁöÁ¤µÇ¸é
IllegalArgumentException
ÀÌ ¹ß»ýÇÑ´Ù.public void release()
OverflowException
- ´õ ÀÌ»ó ³õ¾ÆÁÙ ¼¼¸¶Æ÷¾î°¡ ¾ø´Â »óÅ¿¡¼
¼¼¸¶Æ÷¾î¸¦ ³õ¾ÆÁÖ·Á ÇÏ´Â °æ¿ìpublic int release(int number)
number
- ³õ¾ÆÁÙ ½½·ÔÀÇ °³¼ö. ÀÌ °ªÀÌ 0 ÀÌÇÏÀ̸é
IllegalArgumentExceptionÀÌ ¹ß»ýÇÑ´Ù.
OverflowException
- ÇöÀç »ç¿ëÁßÀÎ ½½·Ô °³¼ö + ³õ¾ÆÁÖ·Á´Â °³¼ö°¡
ÃÖ´ëÄ¡¸¦ ³Ñ¾î¼¸é ¹ß»ýÇÑ´Ù. ¿¹¿Ü°¡ ¹ß»ýÇϸé
½½·ÔÀÇ °³¼ö´Â ¼ÒÃâ Àü°ú º¯È°¡ ¾ø´Ù.
IllegalOwnershipException
- »ý¼ºÀÚ¿¡¼ enforcePnwershipÀ» ÂüÀ¸·Î
ÁöÁ¤ÇÑ °æ¿ì ÇöÀç ½º·¹µå°¡ ÀÚ½ÅÀÌ ¾òÀº ½½·Ôº¸´Ù
¸¹Àº ¼öÀÇ ½½·ÔÀ» ³õÀ¸·Á°í ÇÑ´Ù¸é ¹ß»ýÇÑ´Ù.public final int getID()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |