|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.nio.channels.Selector
public abstract class Selector
SelectableChannel
°´Ã¼ÀÇ ¸ÖƼÇ÷º¼ÀÔ´Ï´Ù.
¼¿·ºÅ͸¦ ÀÛ¼ºÇÏ·Á¸é,
ÀÌ Å¬·¡½ºÀÇ ¼¿·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖ´Â ¼±Åà °¡´É ä³ÎÀº, ¡¸Å° ¼¼Æ®¡¹. ÇöÀç ÀÌ ¼¿·ºÅÍ¿¡ µî·ÏµÇ¾î Àִ ä³ÎÀ» ³ªÅ¸³»´Â Ű·Î ±¸¼ºµÈ´Ù. ¡¸¼±ÅÃµÈ Å° ¼¼Æ®¡¹. ÀÌ Å° ¼¼Æ®³»¿¡ Æ÷ÇԵǴ Ű´Â °¢°¢, ±× ´ëÀÀÇϴ ä³ÎÀÌ, Àüȸ ¼±ÅýÃÀÇ ´ë»ó ¼¼Æ®¿¡ Æ÷ÇԵǾî ÀÖ´ø Á¶ÀÛÀÇ Àû¾îµµ 1°³À» ½ÇÇàÇÒ ¼ö ÀÖ´Â »óŰ¡ µÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³½´Ù. ¡¸»èÁ¦µÈ Ű ¼¼Æ®¡¹. Ãë¼Ò´Â ¿Ï·áÇϰí ÀÖÁö¸¸, ä³ÎÀÇ µî·ÏÀº ¾ÆÁ÷ ÇØÁ¦µÇ¾î ÀÖÁö ¾ÊÀº Ű¼¼Æ®. ÀÌ ¼¼Æ®¿¡ Á÷Á¢ ¾×¼¼½º ÇÒ ¼ö ¾ø´Ù. Ç×»ó Ű ¼¼Æ®ÀÇ ºÎºÐÁýÇÕÀÌ µÈ´Ù »õ·Ó°Ô ÀÛ¼ºµÈ ¼¿·ºÅÍ¿¡¼´Â ÀÌ 3 °³¼¼Æ®´Â ºñ¾îÀÖ½À´Ï´Ù.
¼¿·ºÅÍÀÇ Å° ¼¼Æ®¿¡´Â ä³ÎÀÇ ¼¿·ºÅͰ¡ »èÁ¦µÈ Ű ¼¼Æ®¿¡´Â ä³ÎÀÇ Å¬·Î¿ìÁ ¼±Åà Á¶ÀÛÀ» ½ÇÇàÇϸé, ¼±ÅÃµÈ Å° ¼¼Æ®¿¡ ۰¡ Ãß°¡µË´Ï´Ù. ¼±ÅÃµÈ Å° ¼¼Æ®·ÎºÎÅÍ Á÷Á¢ ۸¦ »èÁ¦ÇÏ´Â °æ¿ì´Â ¼±ÅÃµÈ Å° ¼¼Æ®ÀÇ ¼±Åà Á¶ÀÛ¸¶´Ù, ¼¿·ºÅÍÀÇ ¼±ÅÃµÈ Å° ¼¼Æ®¿¡ ´ëÇØ¼ ŰÀÇ Ãß°¡ ¹× »èÁ¦°¡ ½ÇÇàµÇ´Â °Í°ú µ¿½Ã¿¡
Ű ¼¼Æ® ¹× »èÁ¦µÈ Ű ¼¼Æ®·ÎºÎÅÍ Å°°¡ »èÁ¦µË´Ï´Ù. ¼±ÅÃÀº »èÁ¦µÈ Ű ¼¼Æ®¿¡ Æ÷ÇԵǴ ¸ðµç ۰¡ ¼Ò¼ÓÇÏ´Â °¢ Ű ¼¼Æ®·ÎºÎÅÍ »èÁ¦µÇ´Â °Í°ú µ¿½Ã¿¡
±×°Íµé¿¡ ´ëÀÀÇϴ ä³ÎÀÇ µî·Ïµµ ¸ðµÎ ÇØÁ¦µË´Ï´Ù. ÀÌ ¼ø¼°¡ ¿Ï·áÇϸé, »èÁ¦µÈ Ű ¼¼Æ®´Â ºñ¿ó´Ï´Ù. ŰÀÇ ´ë»ó ¼¼Æ®¿¡ Æ÷ÇԵǴ Á¶ÀÛÀÇ Àû¾îµµ 1°³À» ½ÇÇàÇÒ ¼ö ÀÖ´Â »óŰ¡ µÈ ä³ÎÀÌ ¼±Åà °³½ÃÀÇ ½ÃÁ¡¿¡¼ Á¸ÀçÇÒÁö ¾î¶³ÁöÀÇ ÃֽŠÁ¤º¸¸¦ ¾ò±â À§Çؼ
±âº»ÀÌ µÇ´Â OS¿¡ Á¶È¸ÇÕ´Ï´Ù. ÇØ´çÇϴ ä³Î¿¡ ´ëÇØ¼´Â ´ÙÀ½ÀÇ ¸î°³ÀÇ ¾×¼ÇÀÌ ½ÇÇàµË´Ï´Ù. ¼±ÅÃµÈ Å° ¼¼Æ®³»¿¡ ±× ä³ÎÀÇ Å°°¡ Á¸ÀçÇÏÁö ¾Ê¾Ò´ø °æ¿ì, ¼±ÅÃµÈ Å° ¼¼Æ®³»¿¡ ±× ۰¡ Ãß°¡µÇ´Â °Í°ú µ¿½Ã¿¡
½ÇÇà °¡´É Á¶ÀÛ ¼¼Æ®°¡ º¯°æµÇ¾î ±× ä³Î·Î Áغñ°¡ °®Ãß¾îÁ³´Ù°í º¸°íµÈ Á¶ÀÛÀÌ µî·ÏµÈ´Ù. ±× ÀÌÀü¿¡ ½ÇÇà °¡´É Á¶ÀÛ ¼¼Æ®¿¡ ±â·ÏµÇ°í ÀÖ´ø Á¤º¸´Â ÆÄ±âµÈ´Ù ±×·¸Áö ¾ÊÀº °æ¿ì´Â ±× ä³ÎÀÇ Å°´Â À̹Ì
¼±ÅÃµÈ Å° ¼¼Æ®³»¿¡ Á¸ÀçÇϰí Àֱ⠶§¹®¿¡
½ÇÇà °¡´É Á¶ÀÛ ¼¼Æ®°¡ º¯°æµÇ¾î ±× ä³Î·Î Áغñ°¡ °®Ãß¾îÁ³´Ù°í º¸°íµÈ Á¶ÀÛÀÌ ¸ðµÎ µî·ÏµÈ´Ù. ±× ÀÌÀü¿¡ ½ÇÇà °¡´É Á¶ÀÛ ¼¼Æ®¿¡ ±â·ÏµÇ°í ÀÖ´ø Á¤º¸´Â º¸Á¸µÈ´Ù. Áï, ±âº»ÀÌ µÇ´Â ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ¸®ÅÏµÈ ½ÇÇà °¡´É Á¶ÀÛ ¼¼Æ®´Â ÇöÀçÀÇ ½ÇÇà °¡´É Á¶ÀÛ ¼¼Æ®¿¡ ¡¸bitwise-disjoin (ºñÆ® ´ÜÀ§¿¡¼ÀÇ ºÐ¸®)¡¹µÈ´Ù ¼ø¼ 2
½ÇÇàÁß¿¡ »èÁ¦µÈ Ű ¼¼Æ®¿¡ Ãß°¡µÈ ۰¡ Á¸ÀçÇÏ´Â °æ¿ì, ±×·¯ÇÑ Å°´Â ¼ø¼ 1¿¡ µû¶ó 󸮵˴ϴÙ. 3°³ÀÇ ¼±Åà ¸Þ¼µåÀÇ º»ÁúÀûÀÎ Â÷ÀÌ´Â 1°³
ÀÌ»óÀÇ Ã¤³ÎÀÇ Áغñ°¡ °®Ãß¾îÁú ¶§±îÁö ¼±Åà Á¶ÀÛÀÌ ºí·Ï µÉÁö ¾î¶³Áö¶ó°í ºí·Ï µÇ´Â °æ¿ì¿¡ ¾î´À Á¤µµÀÇ ±â°£ ºí·Ï µÇ´ÂÁö,
2 Á¡ »ÓÀÔ´Ï´Ù. ¼¿·ºÅÍ ÀÚü´Â º¹¼öÀÇ º´Çà 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¿¡ ´ëÇØ¼ ´Ù¸¥ thread·ÎºÎÅÍ ÀÎÅÍ·´Æ®¸¦ °ÉÄ¡·Á¸é,
´ÙÀ½ÀÇ 3°³ÀÇ ¹æ¹ýÀÇ ¾î´ÀÂÊÀ̵çÀ» »ç¿ëÇÕ´Ï´Ù.
wakeup
¸Þ¼µåÀÇ È£Ãâclose
¸Þ¼µåÀÇ È£Ãâinterrupt
¸Þ¼µåÀÇ È£Ãâ. ÀÌ °æ¿ì
ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾î ¼¿·ºÅÍÀÇ wakeup
¸Þ¼µå°¡ ºÒ·Á °£´Ùclose
¸Þ¼µå´Â ¼¿·ºÅÍ¿Í 3°³ÀÇ Å° ¼¼Æ® ¸ðµç °ÍÀ» ¼±Åà Á¶ÀÛ½Ã¿Í °°Àº Â÷·Ê·Î µ¿±âÈÇÕ´Ï´Ù.
iterator
¸Þ¼µå¿¡ ÀÇÇØ ¸®ÅϵÈ
¹Ýº¹ÀÚ´Â fail-fast ÀÔ´Ï´Ù. ¹Ýº¹ÀÚÀÇ ÀÛ¼º ÈÄ, ¹Ýº¹ÀÚ °íÀ¯ÀÇ remove
¸Þ¼µå È£ÃâÇØ ÀÌ¿Ü ¹æ¹ýÀ¸·Î ¼¼Æ®°¡ º¯°æµÇ¾úÀ» °æ¿ì, ConcurrentModificationException
À» ¹ß»ý½Ãŵ´Ï´Ù.
SelectableChannel
,
SelectionKey
»ý¼ºÀÚ °³¿ä | |
---|---|
protected |
Selector ()
ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈÇÕ´Ï´Ù. |
¸Þ¼µå °³¿ä | |
---|---|
abstract void |
close ()
ÀÌ ¼¿·ºÅ͸¦ ´Ý½À´Ï´Ù. |
abstract boolean |
isOpen ()
ÀÌ ¼¿·ºÅÍ »óŰ¡ ¿ÀÇÂÀÏÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù. |
abstract Set <SelectionKey > |
keys ()
ÀÌ ¼¿·ºÅÍÀÇ Å° ¼¼Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
static Selector |
open ()
¼¿·ºÅ͸¦ ¿ÀÇÂÇÕ´Ï´Ù. |
abstract SelectorProvider |
provider ()
ÀÌ Ã¤³ÎÀÇ ¼Ò½ºÇÁ·Î¹ÙÀÌ´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
abstract int |
select ()
ÀÔÃâ·Â Á¶ÀÛÀÇ ½ÇÇàÀÌ °¡´ÉÇÑ ´ëÀÀÇϴ ä³ÎÀ» °¡Áö´Â Ű ¼¼Æ®¸¦ ¼±ÅÃÇÕ´Ï´Ù. |
abstract int |
select (long timeout)
ÀÔÃâ·Â Á¶ÀÛÀÇ ½ÇÇàÀÌ °¡´ÉÇÑ ´ëÀÀÇϴ ä³ÎÀ» °¡Áö´Â Ű ¼¼Æ®¸¦ ¼±ÅÃÇÕ´Ï´Ù. |
abstract Set <SelectionKey > |
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 <SelectionKey > keys()
Ű ¼¼Æ®¸¦ Á÷Á¢ º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù. ۸¦ Ãë¼ÒÇÑµÚ Ã¤³ÎÀÇ µî·ÏÀÌ ÇØÁ¦µÈ ½ÃÁ¡¿¡¼
±× ۰¡ »èÁ¦µË´Ï´Ù. Ű ¼¼Æ®¸¦ º¯°æÀ» ½ÃµµÇϸé, UnsupportedOperationException
À» ¹ß»ý½Ãŵ´Ï´Ù.
Ű ¼¼Æ®´Âthread ¼¼ÀÌÇÁ°¡ ¾Æ´Õ´Ï´Ù .
ClosedSelectorException
- ÀÌ ¼¿·ºÅͰ¡ Ŭ·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ìpublic abstract Set <SelectionKey > 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 Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.