|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.nio.channels.spi.AbstractInterruptibleChannel | +--java.nio.channels.SelectableChannel
Selector
°æÀ¯·Î ´ÙÁßÈÇÒ ¼ö Àִ ä³ÎÀÔ´Ï´Ù.
½Ç·ºÅÍ·Î »ç¿ëÇϱâ À§Çؼ´Â ¿ì¼±,register
¸Þ¼Òµå¸¦ »ç¿ëÇØ ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº¸¦ µî·ÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ä³ÎÀÌ ½Ç·ºÅÍ¿¡ µî·ÏµÈ °ÍÀ» ³ªÅ¸³»´Â »õ·Î¿î SelectionKey
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
½Ç·ºÅÍ¿¡ µî·ÏµÈ ä³ÎÀº µî·ÏÀ» ÇØÁ¦ÇÒ ¶§±îÁö µî·ÏµÈ ä·Î ÀÖ½À´Ï´Ù. µî·ÏÀ» ÇØÁ¦Çϴµ¥´Â ½Ç·ºÅÍ¿¡ ÀÇÇØ ä³Î¿¡ ÇÒ´çÇÒ ¼ö ÀÖ¾ú´ø ¸®¼Ò½º¸¦ ÇØ¹æÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ä³ÎÀÇ µî·ÏÀ» Á÷Á¢ ÇØÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù. ±× ´ë½Å¿¡, µî·ÏÀ» ³ªÅ¸³»´Â ۸¦ Ãë¼ÒÇÕ´Ï´Ù. ۸¦ Ãë¼ÒÇÏ·Á¸é , ½Ç·ºÅͰ¡ ´ÙÀ½ÀÇ ¼±ÅÃÀ» ÇàÇϰí ÀÖ´Â µ¿¾È¿¡ ä³ÎÀÇ µî·ÏÀ» ÇØÁ¦ÇÕ´Ï´Ù. cancel
¸Þ¼ÒµåÀÇ È£Ãâ¿¡ ÀÇÇØ, ۸¦ ¸í½ÃÀûÀ¸·Î Ãë¼ÒÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¸Þ¼ÒµåÀÇ È£ÃâÇØ, ¶Ç´Â ä³Î»óÀÇ ÀÔÃâ·Â Á¶ÀÛÁß¿¡ ºí·Ï µÈ thread¿¡ ´ëÇÑ ¼¼Ä¡±â¿¡ ÀÇÇØ ä³ÎÀ» Ŭ·Î¿ìÁî Çϸé(ÀÚ), ÇÊ¿¬ÀûÀ¸·Î, ±× ä³ÎÀÇ ¸ðµç ۰¡ »èÁ¦µË´Ï´Ù.
½Ç·ºÅÍ ÀÚü¸¦ Ŭ·Î¿ìÁî Çϸé(ÀÚ), ä³ÎÀÇ µî·ÏÀÌ ÇØÁ¦µÇ¾î ±× µî·ÏÀ» ³ªÅ¸³»°í ÀÖ´ø ۵µ Áï¼®¿¡¼ ¹«È¿°¡ µË´Ï´Ù.
½Ç·ºÅÍ 1 °³¿¡ ´ëÇØ¼ ÃÖ´ë 1 °³ÀÇ Ã¤³ÎÀ» µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.
ä³ÎÀÌ º¹¼öÀÇ ½Ç·ºÅÍ¿¡ µî·ÏµÇÁö ¾ÊÀºÁö ¾î¶²Áö¸¦ È®ÀÎÇÏ·Á¸é ,isRegistered
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.
¼±Åà °¡´É ä³ÎÀº º¹¼öÀÇ º´Çà thread·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
isBlocking
¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù.
»õ·Ó°Ô ÀÛ¼ºµÈ ¼±Åà °¡´É ä³ÎÀº Ç×»ó ºí·Ï ¸ðµå°¡ µË´Ï´Ù. ºñºí·Ï ¸ðµå´Â ½Ç·ºÅÍ º£À̽ºÀÇ ´ÙÁßÈ¿Í ÇÔ²² °¡Àå À¯¿ëÇÕ´Ï´Ù. ½Ç·ºÅÍ¿¡ µî·ÏÇϱâ Àü¿¡, ä³ÎÀ» ºñºí·Ï ¸ðµå·Î ÇØ, µî·Ï ÇØÁ¦±îÁö ±×´ë·Î ÇØ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù.
SelectionKey
,
Selector
»ý¼ºÀÚÀÇ °³¿ä | |
protected |
SelectableChannel ()
ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈÇÕ´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
abstract Object |
blockingLock ()
configureBlocking ¸Þ¼Òµå¿Í register ¸Þ¼Òµå°¡ µ¿±â ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract SelectableChannel |
configureBlocking (boolean block)
ÀÌ Ã¤³ÎÀÇ ºí·Ï ¸ðµå¸¦ Á¶Á¤ÇÕ´Ï´Ù. |
abstract boolean |
isBlocking ()
ÀÌ Ã¤³Î»óÀÇ °³°³ÀÇ ÀÔÃâ·Â Á¶ÀÛÀÌ ÀüÀÇ ÀÔÃâ·Â Á¶ÀÛÀÌ ¿Ï·áÇÒ ¶§±îÁö ºí·Ï µÉÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù. |
abstract boolean |
isRegistered ()
ÇöÀç ÀÌ Ã¤³ÎÀÌ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖ´ÂÁö ¾î¶²Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù. |
abstract SelectionKey |
keyFor (Selector sel)
ä³ÎÀÌ ÁöÁ¤µÈ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³»´Â ۸¦ ÃëµæÇÕ´Ï´Ù. |
abstract SelectorProvider |
provider ()
ÀÌ Ã¤³ÎÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
SelectionKey |
register (Selector sel,
int ops)
ÀÌ Ã¤³ÎÀÌ ÁöÁ¤µÈ ½Ç·ºÅÍ¿¡ µî·ÏÇØ, ¼±Åà ۸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract SelectionKey |
register (Selector sel,
int ops,
Object att)
ÀÌ Ã¤³ÎÀÌ ÁöÁ¤µÈ ½Ç·ºÅÍ¿¡ µî·ÏÇØ, ¼±Åà ۸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract int |
validOps ()
ÀÌ Ã¤³ÎÀÇ ¼Æ÷Æ®µÇ°í ÀÖ´Â Á¶ÀÛÀ» ½Äº°ÇÏ´ÂÁ¶ÀÛ ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
Ŭ·¡½º java.nio.channels.spi. AbstractInterruptibleChannel ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
begin , close , end , implCloseChannel , isOpen |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
close , isOpen |
»ý¼ºÀÚÀÇ »ó¼¼ |
protected SelectableChannel()
¸Þ¼ÒµåÀÇ »ó¼¼ |
public abstract SelectorProvider provider()
public abstract int validOps()
public abstract boolean isRegistered()
ŰÀÇ Ãë¼Ò·ÎºÎÅÍ Ã¤³ÎÀÇ µî·Ï ÇØÁ¦±îÁöÀÇ »çÀÌ¿¡ ¹ß»ýÇÏ´Â ÇÊ¿¬ÀûÀÎ Áö¿¬À̱⠶§¹®¿¡, ۸¦ ¸ðµÎ Ãë¼ÒÇØµµ, ´çºÐ°£ÀÇ »çÀÌ Ã¤³ÎÀÇ µî·ÏÀº ÇØÁ¦µÇÁö ¾Ê½À´Ï´Ù. ä³ÎÀ» Ŭ·Î¿ìÁî ÇßÀ» ¶§µµ °°½À´Ï´Ù.
public abstract SelectionKey keyFor(Selector sel)
public abstract SelectionKey register(Selector sel, int ops, Object att) throws ClosedChannelException
ÇöÀç ÀÌ Ã¤³ÎÀÌ ÁöÁ¤µÈ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖ´Â °æ¿ì, ÀÌ µî·ÏÀ» ³ªÅ¸³»´Â ¼±Åà ۰¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ŰÀÇ ´ë»ó ¸®½ºÆ®´Â interestOps(int)
¸Þ¼Òµå¸¦ È£ÃâÇßÀ» °æ¿ì¿Í °°ÀÌ ops ·Î º¯°æµÇ°í ÀÖ½À´Ï´Ù. att ÀμöÀÇ °ªÀÌ null ÀÌ¿ÜÀÇ °æ¿ì, ŰÀÇ Ã·ºÎ´Â ±× °ªÀ¸·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ۰¡ ¹ú½á »èÁ¦µÇ°í ÀÖ´Â °æ¿ì´Â CancelledKeyException
°¡ ½½·Î¿ì µË´Ï´Ù.
±× ÀÌ¿ÜÀÇ °æ¿ì, ÀÌ Ã¤³ÎÀº ÁöÁ¤µÈ ½Ç·ºÅÍ¿¡ ¾ÆÁ÷ µî·ÏµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù. µî·Ï 󸮵Ú, »õ·Ó°Ô »ý¼ºµÈ ۰¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ŰÀÇ ´ë»ó ¸®½ºÆ®ÀÇ ÃʱâÄ¡´Â ops, ÷ºÎ´Â att °¡ µË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼ÒµåÀÇ È£ÃâÁß, ¶Ç´Â configureBlocking
¸Þ¼ÒµåÀÇ È£ÃâÁß¿¡ Áߺ¹ ÇØ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇßÀ» °æ¿ì, »õ·Ó°Ô È£ÃâÇÑ ¸Þ¼Òµå´Â ÃÖÃÊÀÇ ¸Þ¼ÒµåÀÇ Ã³¸®°¡ ¿Ï·áÇÒ ¶§±îÁö ºí·Ï µË´Ï´Ù. ±× ÈÄ, ÀÌ ¸Þ¼Òµå¿Í ½Ç·ºÅÍÀÇ Å° ¼¼Æ®ÀÇ µ¿±â°¡ ÃëÇØÁý´Ï´Ù. ÀÌ ¶§¹®¿¡, °°Àº ½Ç·ºÅ͸¦ »ç¿ëÇÏ´Â ´Ù¸¥ µî·Ï ¶Ç´Â ¼±Åà ó¸®¿Í µ¿½Ã¿¡ ºÒ·Á °¬À» °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ºí·Ï µË´Ï´Ù.
ÀÌ Á¶ÀÛÀÇ ½ÇÇàÁß¿¡ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî ÇßÀ» °æ¿ì, ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â Ű´Â »èÁ¦µÇ¾î ¹«È¿°¡ µË´Ï´Ù.
sel
- ÀÌ Ã¤³ÎÀÇ µî·Ïó ½Ç·ºÅÍops
- »ý¼ºµÈ ŰÀÇ ´ë»ó ¼¼Æ®att
- »ý¼ºµÈ ŰÀÇ Ã·ºÎ. null ÀÇ °æ¿ìµµ ÀÖ´Ù
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IllegalBlockingModeException
- ÀÌ Ã¤³ÎÀÌ ºí·Ï ¸ðµåÀÇ °æ¿ì
IllegalSelectorException
- ÀÌ Ã¤³ÎÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ°¡ ÁöÁ¤µÈ ½Ç·ºÅÍÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ¿Í ´Ù¸¥ °æ¿ì
CancelledKeyException
- ä³ÎÀº ÁöÁ¤µÈ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖÁö¸¸, ´ëÀÀÇϴ Ű°¡ ¹ú½á »èÁ¦µÇ°í ÀÖ´Â °æ¿ì
IllegalArgumentException
- ops ¼¼Æ®³»ÀÇ ºñÆ®°¡ ÀÌ Ã¤³Î·Î ¼Æ÷Æ®µÇ´Â Á¶ÀÛ¿¡ ´ëÀÀÇϰí ÀÖÁö ¾Ê´Â °æ¿ì (set & ~validOps() ! = 0)public final SelectionKey register(Selector sel, int ops) throws ClosedChannelException
ÀÌ °£ÀÌ ¸Þ¼Òµå¸¦
sc.register(sel, ops)ÀÇ Çü½Ä¿¡¼ È£ÃâÇϸé(ÀÚ),
sc. register
(sel, ops, null)
¸¦ È£ÃâÇßÀ» °æ¿ì¿Í ¿ÏÀüÈ÷ °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
sel
- ÀÌ Ã¤³ÎÀÇ µî·Ïó ½Ç·ºÅÍops
- »ý¼ºµÈ ŰÀÇ ´ë»ó ¼¼Æ®
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IllegalBlockingModeException
- ÀÌ Ã¤³ÎÀÌ ºí·Ï ¸ðµåÀÇ °æ¿ì
IllegalSelectorException
- ÀÌ Ã¤³ÎÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ°¡ ÁöÁ¤µÈ ½Ç·ºÅÍÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ¿Í ´Ù¸¥ °æ¿ì
CancelledKeyException
- ä³ÎÀº ÁöÁ¤µÈ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖÁö¸¸, ´ëÀÀÇϴ Ű°¡ ¹ú½á »èÁ¦µÇ°í ÀÖ´Â °æ¿ì
IllegalArgumentException
- ops ¼¼Æ®³»ÀÇ ºñÆ®°¡ ÀÌ Ã¤³Î·Î ¼Æ÷Æ®µÇ´Â Á¶ÀÛ¿¡ ´ëÀÀÇϰí ÀÖÁö ¾Ê´Â °æ¿ì (set & ~validOps() ! = 0)public abstract SelectableChannel configureBlocking(boolean block) throws IOException
ÀÌ Ã¤³ÎÀÌ 1 °³ ÀÌ»óÀÇ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖ´Â °æ¿ì, ºí·Ï ¸ðµå·Î ¼³Á¤ÇÏ·Á°í Çϸé(ÀÚ) IllegalBlockingModeException
°¡ ½½·Î¿ì µË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. »õ·Î¿î ºí·Ï ¸ðµå´Â ÀÌ ¸Þ¼ÒµåÀÇ Á¾·áÈÄ¿¡ °³½ÃµÈ ÀÔÃâ·Â Á¶ÀÛÀÎ ¸¸Å ¿µÇâÀ» ¹ÌĨ´Ï´Ù. ±¸Çö¿¡ µû¶ó¼´Â º¸·ùµÈ ÀÔÃâ·Â Á¶ÀÛÀÌ ¿Ï·áÇÒ ¶§±îÁö ºí·ÏÀ» ¼ÓÇàÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼Òµå ¶Ç´Â register
¸Þ¼ÒµåÀÇ È£ÃâÁß¿¡ ÀÌ ¸Þ¼Òµå¸¦ Áߺ¹ ÇØ È£ÃâÇßÀ» °æ¿ì, »õ·Ó°Ô ºÒ·Á °£ ¸Þ¼Òµå´Â ÃÖÃÊÀÇ Ã³¸®°¡ ¿Ï·áÇÒ ¶§±îÁö ºí·Ï µË´Ï´Ù.
block
- ÀÌ Ã¤³ÎÀÌ ºí·Ï ¸ðµå°¡ µÇ´Â °æ¿ì´Â true, ºñºí·Ï ¸ðµå°¡ µÇ´Â °æ¿ì´Â false
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
IllegalBlockingModeException
- block °¡ true ·Î, ÀÌ Ã¤³ÎÀÌ 1 °³ ÀÌ»óÀÇ ½Ç·ºÅÍ¿¡ µî·ÏµÇ¾î ÀÖ´Â °æ¿ì
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic abstract boolean isBlocking()
ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼ÒµåÀÇ ¹Ýȯ°ªÀº ƯÁ¤µÇÁö ¾Ê½À´Ï´Ù.
public abstract Object blockingLock()
configureBlocking
¸Þ¼Òµå¿Í register
¸Þ¼Òµå°¡ µ¿±â ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ±â´ÉÀº ƯÁ¤ÀÇ ºí·Ï ¸ðµå¸¦ ´Ü½Ã°£ º¸°ü À¯ÁöÇÒ Çʿ䰡 ÀÖ´Â ¾î´ðÅ͸¦ ±¸ÇöÇÏ´Â °æ¿ì¿¡ Æí¸®ÇÕ´Ï´Ù.
|
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.