|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.nio.channels.Selector
SelectableChannel
¿ÀºêÁ§Æ®ÀÇ ¸ÖƼÇ÷º¼ÀÔ´Ï´Ù.
½Ç·ºÅ͸¦ ÀÛ¼ºÇÏ·Á¸é , ÀÌ Å¬·¡½ºÀÇ ¡¸Å° ¼¼Æ®¡¹. ÇöÀç ÀÌ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î Àִ ä³ÎÀ» ³ªÅ¸³»´Â Ű·Î ±¸¼ºµÈ´Ù. ¡¸¼±ÅÃµÈ Å° ¼¼Æ®¡¹. ¼±ÅÃÀü¿¡, °³°³ÀÇ Å°ÀÇ Ã¤³ÎÀÌ Å°ÀÇ ´ë»ó ¼¼Æ®¿¡ ³ªÅ¸³ª°í ÀÖ´Â Á¶ÀÛÀÇ ÃÄ ¾î´ÀÂÊÀ̵çÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â »óŰ¡ µÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³»´Â Ű·Î ±¸¼ºµÈ´Ù. ¡¸»èÁ¦µÈ Ű ¼¼Æ®¡¹. ä³ÎÀÇ µî·ÏÀº ¾ÆÁ÷ ÇØÁ¦µÇ¾î ÀÖÁö ¾ÊÁö¸¸, Ãë¼Ò´Â ¿Ï·áÇϰí Àִ Ű¼¼Æ®. ÀÌ ¼¼Æ®¿¡ Á÷Á¢ ¾×¼¼½º ÇÒ ¼ö ¾ø´Ù. Ç×»ó Ű ¼¼Æ®ÀÇ ºÎºÐÁýÇÕÀÌ µÈ´Ù »õ·Ó°Ô ÀÛ¼ºµÈ ½Ç·ºÅÍ¿¡¼´Â ÀÌ 3 °³¼¼Æ®´Â ÇÏ´ÃÀÔ´Ï´Ù.
ä³ÎÀÇ Ã¤³ÎÀÇ Å¬·Î¿ìÁ Ű´Â ¼±Åà Á¶ÀÛ¿¡ ÀÇÇØ ¼±ÅÃµÈ Å° ¼¼Æ®¿¡ Ãß°¡µË´Ï´Ù. ¼±ÅÃµÈ Å° ¼¼Æ®·ÎºÎÅÍ Á÷Á¢ ۸¦ »èÁ¦ÇÏ°í ½ÍÀº °æ¿ì´Â ÀÌ Å° ¼¼Æ®ÀÇ ¼±Åø¶´Ù, ½Ç·ºÅÍÀÇ ¼±ÅÃµÈ Å° ¼¼Æ®¿¡ ۰¡ Ãß°¡µÇ°Å³ª Ű ¼¼Æ®³ª »èÁ¦µÈ Ű ¼¼Æ®·ÎºÎÅÍ Å°°¡ »èÁ¦ µÇ°Å³ª ÇÕ´Ï´Ù. ¼±ÅÃÀº »èÁ¦µÈ Ű ¼¼Æ®¿¡ Æ÷ÇԵǴ ¸ðµç ۰¡ °¢ Ű ¼¼Æ®·ÎºÎÅÍ »èÁ¦µÇ¾î ä³ÎÀÇ µî·ÏÀÌ ÇØÁ¦µË´Ï´Ù. ÀÌ ¼ø¼¿¡ ÀÇÇØ, »èÁ¦µÈ Ű ¼¼Æ®´Â ºñ¿ó´Ï´Ù. ¼±Åà Á¶ÀÛÀÌ °³½ÃµÈ ½ÃÁ¡¿¡¼, ŰÀÇ ´ë»ó ¼¼Æ®¿¡ ³ªÅ¸³ª°í ½ÍÀº Â÷ÀÌÀΰ¡ÀÇ Á¶ÀÛÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â »óÅÂÀÇ Ã¤³ÎÀÌ °»½ÅµÇ¾ú´ÂÁö ¾î¶°Çß´ÂÁö¿¡ ÀÓÇØ¼, ±âº»ÀÌ µÇ´Â operating system°¡ Á¶È¸µË´Ï´Ù. ÇØ´çÇϴ ä³Î¿¡ ´ëÇØ¼´Â ´ÙÀ½ÀÇ ¸î°³ÀÇ ¾×¼ÇÀÌ ½ÇÇàµË´Ï´Ù.
¼±ÅÃµÈ Å° ¼¼Æ®·ÎºÎÅÍ »èÁ¦µÈ ä³ÎÀÇ Å°°¡ ¼¼Æ®¿¡ Ãß°¡µÇ¾î ÇöÀç ÀÌ Ã¤³Î·Î ½ÇÇà °¡´ÉÇÑ Á¶ÀÛÀ» ¾Ë ¼ö ÀÖ°Ô ½ÇÇà °¡´É Á¶ÀÛ ¼¼Æ®°¡ º¯°æµÈ´Ù. ±× ÀÌÀü¿¡ ½ÇÇà °¡´É ¼¼Æ®¿¡ ±â·ÏµÈ Á¤º¸´Â ÆÄ±âµÈ´Ù ±× ÀÌ¿ÜÀÇ °æ¿ì ä³ÎÀÇ Å°´Â ¹ú½á ¼±ÅÃµÈ Å° ¼¼Æ®³»¿¡ ÀÖ´Ù. µû¶ó¼, ½ÇÇà °¡´É Á¶ÀÛ ¼¼Æ®´Â ä³ÎÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â »õ·Î¿î Á¶ÀÛÀ» ¾Ë ¼ö ÀÖ°Ô º¯°æµÈ´Ù. ±× ÀÌÀü¿¡ ½ÇÇà °¡´É ¼¼Æ®¿¡ ±â·ÏµÈ Á¤º¸´Â º¸Á¸µÈ´Ù. Áï, ±âº»ÀÌ µÇ´Â ½Ã½ºÅÛÀ¸·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â ½ÇÇà °¡´É ¼¼Æ®´Â ºñÆ® ´ÜÀ§·Î ÇöÀçÀÇ ½ÇÇà °¡´É ¼¼Æ® ·Î ºÐ¸®µÈ´Ù ¼ø¼ 2 ÀÇ ½ÇÇàÁß¿¡ »èÁ¦µÈ Ű ¼¼Æ®¿¡ Ãß°¡µÈ Ű´Â ¼ø¼ 1 ¿¡ µû¶ó 󸮵˴ϴÙ. 3 °³ÀÇ ¼±Åà ¸Þ¼Òµå´Â 1 °³ ÀÌ»óÀÇ Ã¤³ÎÀÌ ½ÇÇà °¡´ÉÇÑ »óŰ¡ µÉ ¶§±îÁö ¼±Åà Á¶ÀÛÀÌ ºí·Ï µÉÁö ¾î¶³Áö ºí·Ï µÇ´Â °æ¿ì´Â ¾î´À Á¤µµÀÇ ±â°£ ºí·Ï µÇ´Â°¡ ÇÏ´Â Á¡ Àܴ̿ º»ÁúÀûÀ¸·Î °°½À´Ï´Ù. ½Ç·ºÅÍ ÀÚü´Â º¹¼öÀÇ º´Çà thread·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, À̰ÍÀº Ű ¼¼Æ®¿¡´Â µé¾î¸ÂÁö ¾Ê½À´Ï´Ù.
¼±Åà Á¶ÀÛÀº ½Ç·ºÅÍ ÀÚü, Ű ¼¼Æ®, ¼±ÅÃµÈ Å° ¼¼Æ®¸¦ ÀÌ Â÷·Ê·Î µ¿±âÈÇÕ´Ï´Ù. »ó±âÀÇ ¼ø¼ 1 ¹× 3 ÀÇ ½ÇÇà½Ã´Â »èÁ¦µÈ Ű ¼¼Æ®¸¦ µ¿±âÈÇÕ´Ï´Ù.
¼±Åà Á¶ÀÛÀÇ ½ÇÇàÁß¿¡ ½Ç·ºÅÍÀÇ Å°ÀÇ ´ë»ó ¼¼Æ®·Î º¯°æÀ» ´õÇØµµ, º¯°æÀÌ Àû¿ëµÇ´Â °ÍÀº ´ÙÀ½ÀÇ ¼±Åà Á¶ÀÛÀ¸·ÎºÎÅÍ¿©, ÇöÀç ½ÇÇàÁßÀÇ Á¶ÀÛ¿¡ ¿µÇâÀº ¾ø½À´Ï´Ù.
ŰÀÇ Ãë¼Ò³ª ä³ÎÀÇ Å¬·Î¿ìÁî´Â ¾ðÁ¦¶óµµ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾î´À ۰¡ 1 °³ ÀÌ»óÀÇ ½Ç·ºÅÍÀÇ Å° ¼¼Æ®³»¿¡ Á¸ÀçÇϰí À־, ±× ۰¡ À¯È¿ÇØ, ä³ÎÀÌ ¿ÀÇÂÇϰí ÀÖ´Ù°í´ÂÀΰ¡ ¼±. ´Ù¸¥ thread¿¡ ÀÇÇØ ۰¡ »èÁ¦µÇ°Å³ª ä³ÎÀÌ Å¬·Î¿ìÁî µÉ °¡´É¼ºÀÌ ÀÖ´Â °æ¿ì´Â ¾îÇø®ÄÉÀÌ¼Ç ÄÚµåÀÇ µ¿±âȸ¦ ½ÅÁßÇÏ°Ô ½Ç½ÃÇØ, Çʿ信 µû¶ó¼ ±× »óŸ¦ üũÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
½Ç·ºÅÍÀÇ ½Ç·ºÅÍÀÇ ºí·Ï µÈ threadÀÇ Åë»ó, ½Ç·ºÅÍÀÇ Å° ¼¼Æ® ¹× ¼±ÅÃµÈ Å° ¼¼Æ®´Â º¹¼öÀÇ º´Çà thread·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¸î°³ÀÇ ¼¼Æ®¸¦ Á÷Á¢ º¯°æÇÏ´Â thread°¡ ÀÖ´Â °æ¿ì, ±× ¼¼Æ®¸¦ µ¿±âÈÇÏ´Â °Í¿¡ ÀÇÇØ ¾×¼¼½º Á¦¾î¸¦ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¼¼Æ®ÀÇ
open
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ½Ã½ºÅÛÀÇ µðÆúÆ®ÀÇ
¸¦ »ç¿ëÇØ »õ·Î¿î ½Ç·ºÅ͸¦ ÀÛ¼ºÇÕ´Ï´Ù. Ä¿½ºÅÒ ½Ç·ºÅÍ ÇÁ·Î¹ÙÀÌ´õÀÇ ½Ç·ºÅÍ ÇÁ·Î¹ÙÀÌ´õ
openSelector
¸Þ¼Òµå¸¦ È£ÃâÇØµµ, ½Ç·ºÅ͸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ½Ç·ºÅÍ´Â close
¸Þ¼Òµå·Î Ŭ·Î¿ìÁî µÉ ¶§±îÁö ¿ÀÇ »óŸ¦ À¯ÁöÇÕ´Ï´Ù.
SelectionKey
¿ÀºêÁ§Æ®´Â ¼±Åà °¡´É ä³ÎÀÌ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ½Ç·ºÅÍ´Â ¼±Åà ŰÀÇ 3 °³¼¼Æ®¸¦ °ü¸®ÇÕ´Ï´Ù.
keys
¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ Ãëµæ °¡´ÉselectedKeys
¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ Ãëµæ °¡´É. Ç×»ó Ű ¼¼Æ®ÀÇ ºÎºÐÁýÇÕÀÌ µÈ´Ùregister
¸Þ¼Òµå¸¦ »ç¿ëÇØ ä³ÎÀ» µî·ÏÇϸé(ÀÚ), ±× ºÎÀÛ¿ëÀ¸·Î¼ ½Ç·ºÅÍÀÇ Å° ¼¼Æ®¿¡ ۰¡ Ãß°¡µË´Ï´Ù. »èÁ¦µÈ Ű´Â ¼±Åýÿ¡ Ű ¼¼Æ®·ÎºÎÅÍ »èÁ¦µË´Ï´Ù. Ű ¼¼Æ® ÀÚü¸¦ Á÷Á¢ º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.
cancel
¸Þ¼ÒµåÀÇ È£Ãâ¿¡ ÀÇÇØ ۸¦ Ãë¼ÒÇϸé(ÀÚ), ÀÌ Å°°¡ ½Ç·ºÅÍÀÇ »èÁ¦µÈ Ű ¼¼Æ®¿¡ Ãß°¡µË´Ï´Ù. ۸¦ Ãë¼ÒÇϸé(ÀÚ), ´ÙÀ½ÀÇ ¼±Åýÿ¡ ä³ÎÀÇ µî·ÏÀÌ ÇØÁ¦µË´Ï´Ù. »èÁ¦µÈ Ű´Â ÀÌ ½ÃÁ¡¿¡¼, ¸ðµç ½Ç·ºÅÍÀÇ Å° ¼¼Æ®·ÎºÎÅÍ »èÁ¦µË´Ï´Ù.
remove
¸Þ¼Òµå¸¦ È£ÃâÇÏ´ÂÁö ÀÌ ¼¼Æ®·ÎºÎÅÍ Ãëµæ °¡´ÉÇÑ
ÀÇ ¹Ýº¹ÀÚ
remove
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. ±× ÀÌ¿ÜÀÇ ¹æ¹ýÀ¸·Î, ¼±ÅÃµÈ Å° ¼¼Æ®·ÎºÎÅÍ Å°¸¦ »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù. ¼±ÅÃÀÇ ºÎÀÛ¿ëÀ¸·Î¼ ۰¡ »èÁ¦µÉ °ÍÀº ¾ø½À´Ï´Ù. ¶Ç, ¼±ÅÃµÈ Å° ¼¼Æ®¿¡ Á÷Á¢ ۸¦ Ãß°¡ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¼±ÅÃ
select()
,select(long)
,selectNow()
ÀÇ ¸î°³ÀÇ ¸Þ¼Òµå¿¡ ÀÇÇØ, ´ÙÀ½ÀÇ 3 ´Ü°èÀÇ ¼ø¼¸¦ °ÅÃÄ ÇàÇØÁý´Ï´Ù.
º´Ç༺
select()
¸Þ¼Òµå ¶Ç´Â select(long)
¸Þ¼Òµå¿¡ ÀÇÇØ ºí·Ï µÈ thread´Â ´ÙÀ½ÀÇ 3 °³ÀÇ ÃÄ ¸î°³ÀÇ ¹æ¹ýÀ¸·Î, ±× ¿ÜÀÇ thread¿¡ ÀÇÇØ ³¢¾îµé¾îÁý´Ï´Ù.
wakeup
¸Þ¼ÒµåÀÇ È£Ãâclose
¸Þ¼ÒµåÀÇ È£Ãâinterrupt
¸Þ¼ÒµåÀÇ È£Ãâ. ÀÌ °æ¿ì, ¼¼Ä¡±â »óŰ¡ ¼³Á¤µÇ¾î ½Ç·ºÅÍÀÇ wakeup
¸Þ¼Òµå°¡ ºÒ·Á °£´Ùclose
¸Þ¼Òµå´Â ½Ç·ºÅÍ¿Í 3 °³ÀÇ Å° ¼¼Æ® ¸ðµç °ÍÀ» ¼±Åà Á¶ÀÛ½Ã¿Í °°Àº Â÷·Ê·Î µ¿±âÈÇÕ´Ï´Ù.
iterator
¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â ¹Ýº¹ÀÚ´Â fail-fast ÀÔ´Ï´Ù. ¹Ýº¹ÀÚÀÇ ÀÛ¼º ÈÄ, ¹Ýº¹ÀÚ °íÀ¯ÀÇ remove
¸Þ¼Òµå È£ÃâÇØ ÀÌ¿Ü ¹æ¹ýÀ¸·Î ¼¼Æ®°¡ º¯°æµÇ¾úÀ» °æ¿ì,ConcurrentModificationException
°¡ ½½·Î¿ì µË´Ï´Ù.
SelectableChannel
,
SelectionKey
»ý¼ºÀÚÀÇ °³¿ä | |
protected |
Selector ()
ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈÇÕ´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
abstract void |
close ()
ÀÌ ½Ç·ºÅ͸¦ Ŭ·Î¿ìÁî ÇÕ´Ï´Ù. |
abstract boolean |
isOpen ()
ÀÌ ½Ç·ºÅÍ »óŰ¡ ¿ÀÇÂÀÏÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù. |
abstract Set |
keys ()
ÀÌ ½Ç·ºÅÍÀÇ Å° ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
static Selector |
open ()
½Ç·ºÅ͸¦ ¿ÀÇÂÇÕ´Ï´Ù. |
abstract SelectorProvider |
provider ()
ÀÌ Ã¤³ÎÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract int |
select ()
ÀÔÃâ·Â Á¶ÀÛÀÇ ½ÇÇàÀÌ °¡´ÉÇÑ ´ëÀÀÇϴ ä³ÎÀ» °¡Áö´Â Ű ¼¼Æ®¸¦ ¼±ÅÃÇÕ´Ï´Ù. |
abstract int |
select (long timeout)
ÀÔÃâ·Â Á¶ÀÛÀÇ ½ÇÇàÀÌ °¡´ÉÇÑ ´ëÀÀÇϴ ä³ÎÀ» °¡Áö´Â Ű ¼¼Æ®¸¦ ¼±ÅÃÇÕ´Ï´Ù. |
abstract Set |
selectedKeys ()
ÀÌ ½Ç·ºÅÍÀÇ ¼±ÅÃµÈ Å° ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract int |
selectNow ()
ÀÔÃâ·Â Á¶ÀÛÀÇ ½ÇÇàÀÌ °¡´ÉÇÑ ´ëÀÀÇϴ ä³ÎÀ» °¡Áö´Â Ű ¼¼Æ®¸¦ ¼±ÅÃÇÕ´Ï´Ù. |
abstract Selector |
wakeup ()
¾ÆÁ÷ Á¾·áÇϰí ÀÖÁö ¾Ê´Â ÃÖÃÊÀÇ ¼±Åà Á¶ÀÛÀ» Áï½Ã Á¾·á½Ãŵ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
»ý¼ºÀÚÀÇ »ó¼¼ |
protected Selector()
¸Þ¼ÒµåÀÇ »ó¼¼ |
public static Selector open() throws IOException
»õ·Î¿î ½Ç·ºÅ͸¦ ÀÛ¼ºÇÏ·Á¸é , ½Ã½ºÅÛ ÀüüÀÇ µðÆúÆ®ÀÇ SelectorProvider
¿ÀºêÁ§Æ®ÀÇ openSelector
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic abstract boolean isOpen()
public abstract SelectorProvider provider()
public abstract Set keys()
Ű ¼¼Æ®¸¦ Á÷Á¢ º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù. ۸¦ Ãë¼ÒÇÑ µÚ, ä³ÎÀÇ µî·ÏÀÌ ÇØÁ¦µÈ ½ÃÁ¡¿¡¼, ±× ۰¡ »èÁ¦µË´Ï´Ù. Ű ¼¼Æ®¸¦ º¯°æÇÏ·Á°í Çϸé(ÀÚ),UnsupportedOperationException
°¡ ½½·Î¿ì µË´Ï´Ù.
Ű ¼¼Æ®´Âthread ¼¼ÀÌÇÁ°¡ ¾Æ´Õ´Ï´Ù .
ClosedSelectorException
- ÀÌ ½Ç·ºÅͰ¡ Ŭ·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ìpublic abstract Set selectedKeys()
¼±ÅÃµÈ Å° ¼¼Æ®·ÎºÎÅÍ Å°¸¦ »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ÀÌ ¼¼Æ®¿¡ Á÷Á¢ ۸¦ Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù. Ű ¼¼Æ®¿¡ ¿ÀºêÁ§Æ®¸¦ Ãß°¡ÇÏ·Á°í Çϸé(ÀÚ),UnsupportedOperationException
°¡ ½½·Î¿ì µË´Ï´Ù.
¼±ÅÃµÈ Å° ¼¼Æ®´Âthread ¼¼ÀÌÇÁ°¡ ¾Æ´Õ´Ï´Ù .
ClosedSelectorException
- ÀÌ ½Ç·ºÅͰ¡ Ŭ·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ìpublic abstract int selectNow() throws IOException
ÀÌ ¸Þ¼Òµå´Â ºñºí·ÏÇüÀǼ±Åà Á¶ÀÛÀ» ½ÇÇàÇÕ´Ï´Ù. ÀüȸÀÇ ¼±Åà Á¶ÀÛ ÀÌÈÄ, ¼±Åà °¡´ÉÇÏ°Ô µÉ ¼ö Àִ ä³ÎÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â Áï½Ã Á¦·Î¸¦ µ¹·ÁÁÝ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), ÀÌÀü¿¡ È£ÃâÇÑ wakeup
¸Þ¼ÒµåÀÇ °á°ú°¡ Ŭ¸®¾î µË´Ï´Ù.
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
ClosedSelectorException
- ÀÌ ½Ç·ºÅͰ¡ Ŭ·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ìpublic abstract int select(long timeout) throws IOException
ÀÌ ¸Þ¼Òµå´Â ºí·ÏÇüÀǼ±Åà Á¶ÀÛÀ» ½ÇÇàÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â 1 °³ ÀÌ»óÀÇ Ã¤³ÎÀÌ ¼±ÅõǾúÀ» °æ¿ì, ÀÌ ½Ç·ºÅÍÀÇ wakeup
¸Þ¼Òµå°¡ ºÒ·Á °¬À» °æ¿ì, ÇöÀçÀÇ thread¿¡ ´ëÇØ¼ ¼¼Ä¡±â°¡ ¹ß»ýÇßÀ» °æ¿ì, ÁöÁ¤ÀÇ Å¸ÀÓ ¾Æ¿ô ±â°£ÀÌ Á¾·áÇßÀ» °æ¿ì¿¡ ÇÑÇØ Á¾·áÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¸®¾óŸÀÓ ÇÁ·ÎÅØ¼ÇÀ» ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. Object.wait(long)
¸Þ¼Òµå È£Ãâ°ú °°°Ô ŸÀÓ ¾Æ¿ôÀÇ ½ºÄÉÁÙÀ» ÀÛ¼ºÇÕ´Ï´Ù.
timeout
- Á¤ÀÇ ¼öÀÇ °æ¿ì, ä³ÎÀÌ ½ÇÇà °¡´É »óŰ¡ µÇ´Â °ÍÀ» ´ë±âÇÏ´Â µ¿¾È, ºí·Ï µÇ´Â °ÍÀº ÃÖ´ë·Î ´ë·« timeout ¹Ð¸® ¼¼ÄÁµå, Á¦·ÎÀÇ °æ¿ì ¹«±âÇÑÀÇ ºí·Ï. ºÎÀÇ ¼ö´Â ÁöÁ¤ÇÒ ¼ö ¾ø´Ù
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
ClosedSelectorException
- ÀÌ ½Ç·ºÅͰ¡ Ŭ·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IllegalArgumentException
- timeout ÀμöÀÇ °ªÀÌ ºÎÀÇ °æ¿ìpublic abstract int select() throws IOException
ÀÌ ¸Þ¼Òµå´Â ºí·ÏÇüÀǼ±Åà Á¶ÀÛÀ» ½ÇÇàÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â 1 °³ ÀÌ»óÀÇ Ã¤³ÎÀÌ ¼±ÅõǾúÀ» °æ¿ì, ÀÌ ½Ç·ºÅÍÀÇ wakeup
¸Þ¼Òµå°¡ ºÒ·Á °¬À» °æ¿ì, ÇöÀçÀÇ thread¿¡ ´ëÇØ¼ ¼¼Ä¡±â°¡ ¹ß»ýÇßÀ» °æ¿ì¿¡ ÇÑÇØ Á¾·áÇÕ´Ï´Ù.
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
ClosedSelectorException
- ÀÌ ½Ç·ºÅͰ¡ Ŭ·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ìpublic abstract Selector wakeup()
select()
¸Þ¼Òµå³ª select(long)
¸Þ¼ÒµåÀÇ È£Ãâ½Ã¿¡ ±× ¿ÜÀÇ thread°¡ ºí·Ï µÇ°í ÀÖÀ¸¸é(ÀÚ), È£ÃâÀº °ð¹Ù·Î Á¾·áÇÕ´Ï´Ù. ÇöÀç ½ÇÇàÁßÀÇ ¼±Åà Á¶ÀÛÀÌ ¾ø´Â °æ¿ì´Â »çÀü¿¡ selectNow()
¸Þ¼Òµå¸¦ È£ÃâÇÏÁö ¾Ê´Â ÇÑ, ´ÙÀ½¹ø È£Ãâ½Ãµµ ÀÌ·¯ÇÑ ¸Þ¼Òµå´Â °ð¹Ù·Î Á¾·áÇÕ´Ï´Ù. ÀÌ È£ÃâÀÇ ¹Ýȯ°ªÀº ¾î´À °æ¿ìµµ Á¦·Î ÀÌ¿ÜÀÇ °ªÀÔ´Ï´Ù. ±× ÀÌÈÄ, ´ÙÀ½¹ø È£Ãâ½Ã±îÁö ÀÌ ¸Þ¼Òµå¸¦ ÀçÂ÷ È£ÃâÇÏÁö ¾Ê´Â ÇÑ,select()
¸Þ¼Òµå ¶Ç´Â select(long)
¸Þ¼ÒµåÀÇ È£ÃâÀº Åë»ó ´ë·Î ºí·Ï µË´Ï´Ù.
¾î´À ¼±Åà Á¶ÀÛÀ¸·ÎºÎÅÍ ´ÙÀ½ÀÇ ¼±Åà Á¶ÀÛ±îÁöÀÇ »çÀÌ¿¡ ÀÌ ¸Þ¼Òµå¸¦ 1 ȸ ÀÌ»ó È£ÃâÇØµµ, 1 ȸ¸¸ È£ÃâÇßÀ» ¶§¿Í °°Àº °á°ú°¡ µË´Ï´Ù.
public abstract void close() throws IOException
ÀÌ ½Ç·ºÅÍÀÇ ¼±Åà ¸Þ¼Òµå³»¿¡¼ ºí·Ï µÇ°í ÀÖ´Â thread°¡ ÀÖ´Â °æ¿ì, ½Ç·ºÅÍÀÇ wakeup
¸Þ¼Òµå¸¦ È£ÃâÇßÀ» °æ¿ì¿Í °°°Ô, ÀÌ thread¿¡ ´ëÇÑ ¼¼Ä¡±â°¡ ¹ß»ýÇÕ´Ï´Ù.
»èÁ¦µÇÁö ¾Ê°í ½Ç·ºÅÍ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ´ø ä·ÎÀÇ Å°´Â ¹«È¿°¡ µË´Ï´Ù. ä³ÎÀÇ µî·ÏÀº ÇØÁ¦µÇ¾î ÀÌ ½Ç·ºÅÍ¿¡ °ü·ÃÇÑ ±× ¿ÜÀÇ ¸ðµç ¸®¼Ò½º°¡ ÇØ¹æµË´Ï´Ù.
½Ç·ºÅͰ¡ Ŭ·Î¿ìÁî Çϰí ÀÖ´Â »óÅ·ΠÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇØµµ, ¹«½¼ È¿°úµµ ¾ø½À´Ï´Ù.
ÀÏ´Ü Å¬·Î¿ìÁî ÇÑ ½Ç·ºÅ͸¦ ÀçÂ÷ ÀÌ¿ëÇÏ·Á°í Çϸé(ÀÚ), ÀÌ ¸Þ¼Òµå ¶Ç´Â wakeup
¸Þ¼Òµå¸¦ È£ÃâÇÏÁö ¾Ê´Â ÇÑ,ClosedSelectorException
°¡ ½½·Î¿ì µË´Ï´Ù.
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.