|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.SelectableChannel
public abstract class SelectableChannel
Selector
°æÀ¯·Î ´ÙÁßÈÇÒ ¼ö Àִ ä³ÎÀÔ´Ï´Ù.
¼¿·ºÅÍ·Î »ç¿ëÇϱâ À§Çؼ´Â ¿ì¼±, register
¸Þ¼µå¸¦ »ç¿ëÇØ ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº¸¦ ¡¸µî·Ï¡¹ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼µå´Â ä³ÎÀÌ ¼¿·ºÅÍ¿¡ µî·ÏµÈ °ÍÀ» ³ªÅ¸³»´Â »õ·Î¿î SelectionKey
°´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.
¼¿·ºÅÍ¿¡ µî·ÏµÈ ä³ÎÀº µî·ÏÀ» ÇØÁ¦ÇÒ ¶§±îÁö µî·ÏµÈ ä·Î ÀÖ½À´Ï´Ù. µî·ÏÀ» ÇØÁ¦Çϴµ¥´Â ¼¿·ºÅÍ¿¡ ÀÇÇØ ä³Î¿¡ ÇÒ´çÇÒ ¼ö ÀÖ¾ú´ø ÀÚ¿øÀ» ÇØ¹æÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ä³ÎÀÇ µî·ÏÀ» Á÷Á¢ ÇØÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù. ±× ´ë½Å¿¡
µî·ÏÀ» ³ªÅ¸³»´Â ۸¦ Ãë¼ÒÇÕ´Ï´Ù. ۸¦ Ãë¼ÒÇÏ·Á¸é,
¼¿·ºÅͰ¡ ´ÙÀ½ÀÇ ¼±ÅÃÀ» ÇàÇϰí ÀÖ´Â µ¿¾È¿¡ ä³ÎÀÇ µî·ÏÀ» ÇØÁ¦ÇÕ´Ï´Ù. ŰÀÇ cancel
¸Þ¼µå¸¦ È£ÃâÇϸé, ۸¦ ¸í½ÃÀûÀ¸·Î Ãë¼ÒÇÒ ¼ö ÀÖ½À´Ï´Ù
. ä³ÎÀÇ close
¸Þ¼µåÀÇ È£ÃâÇØ, ¶Ç´Â ä³Î»óÀÇ ÀÔÃâ·Â Á¶ÀÛÁß¿¡ ºí·Ï µÈ thread¿¡ ´ëÇÑ ÀÎÅÍ·´Æ®¿¡ ÀÇÇØ ä³ÎÀÌ Å¬·Î¿ìÁî Çϸé, ¾Ï¹¬ÀûÀ¸·Î ±× ä³ÎÀÇ ¸ðµç ۰¡ »èÁ¦µË´Ï´Ù.
¼¿·ºÅÍ ÀÚü¸¦ Ŭ·Î¿ìÁî Çϸé, ä³ÎÀÇ µî·ÏÀÌ ÇØÁ¦µÇ¾î ±× µî·ÏÀ» ³ªÅ¸³»°í ÀÖ´ø ۵µ Áï¼®¿¡¼ ¹«È¿°¡ µË´Ï´Ù.
¼¿·ºÅÍ 1°³¿¡ ´ëÇØ¼ ÃÖ´ë 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 Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.