JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.nio.channels.spi
Ŭ·¡½º AbstractSelector

java.lang.Object 
  |
  +--java.nio.channels.Selector 
        |
        +--java.nio.channels.spi.AbstractSelector

public abstract class AbstractSelector
extends Selector

½Ç·ºÅÍÀÇ º£À̽º ±¸Çö Ŭ·¡½ºÀÔ´Ï´Ù.

ÀÌ Å¬·¡½º´Â ¼±Åà Á¶ÀÛÀÇ ¼¼Ä¡±â¸¦ ±¸ÇöÇϴµ¥ ÇÊ¿äÇÑ Àú·¹º§ÀÇ ±â±¸¸¦ ĸ½¶È­ÇÕ´Ï´Ù. ±¸»ó ½Ç·ºÅÍ Å¬·¡½º´Â ¹«±âÇÑÀ¸·Î ºí·Ï µÇ´Â ÀÔÃâ·Â Á¶ÀÛÀ» È£ÃâÇϱâ Àü¿¡ begin ¸Þ¼Òµå, È£ÃâÇÑ µÚ¿¡ end ¸Þ¼Òµå¸¦ È£ÃâÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Åë»ó ÀÌ·¯ÇÑ ¸Þ¼Òµå´Â end ¸Þ¼Òµå°¡ ¹Ýµå½Ã ºÒ·Á °¡µµ·Ï(µíÀÌ),try ... finally ºí·Ï³»¿¡¼­ »ç¿ëµË´Ï´Ù.

 try {
     begin();
     // Perform blocking I/O operation here
     ...
 } finally {
     end();
 }

ÀÌ Å¬·¡½º´Â ½Ç·ºÅͰ¡ »èÁ¦µÈ Ű ¼¼Æ®¸¦ °ü¸®ÇÏ´Â ¸Þ¼Òµå³ª, ä³ÎÀÇ Å° ¼¼Æ®·ÎºÎÅÍ Å°¸¦ »èÁ¦ÇÏ´Â ¸Þ¼Òµåµµ Á¤ÀÇÇÕ´Ï´Ù. ¶Ç, ½ÇÁ¦·Î ä³ÎÀ» µî·ÏÇϱâ À§ÇØ(¶§¹®¿¡), ¼±Åà °¡´É ä³ÎÀÇ register ¸Þ¼Òµå¿¡ ÀÇÇØ ºÒ·Á °¡´Â abstract register ¸Þ¼Òµå¸¦ ¼±¾ðÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.4

»ý¼ºÀÚÀÇ °³¿ä
protected AbstractSelector (SelectorProvider  provider)
          ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
protected  void begin ()
          ¹«±âÇÑÀ¸·Î ºí·Ï µÇ´Â ÀÔÃâ·Â Á¶ÀÛÀÇ °³½Ã¸¦ ¸¶Å© ÇÕ´Ï´Ù.
protected  Set cancelledKeys ()
          ÀÌ ½Ç·ºÅͰ¡ »èÁ¦µÈ Ű ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù.
 void close ()
          ÀÌ ½Ç·ºÅ͸¦ Ŭ·Î¿ìÁî ÇÕ´Ï´Ù.
protected  void deregister (AbstractSelectionKey  key)
          Ã¤³ÎÀÇ Å° ¼¼Æ®·ÎºÎÅÍ ÁöÁ¤µÈ ۸¦ »èÁ¦ÇÕ´Ï´Ù.
protected  void end ()
          ¹«±âÇÑÀ¸·Î ºí·Ï µÇ´Â ÀÔÃâ·Â Á¶ÀÛÀÇ Á¾·á¸¦ ¸¶Å© ÇÕ´Ï´Ù.
protected abstract  void implCloseSelector ()
          ÀÌ ½Ç·ºÅ͸¦ Ŭ·Î¿ìÁî ÇÕ´Ï´Ù.
 boolean isOpen ()
          ÀÌ ½Ç·ºÅÍ »óŰ¡ ¿ÀÇÂÀÏÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù.
 SelectorProvider provider ()
          ÀÌ Ã¤³ÎÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù.
protected abstract  SelectionKey register (AbstractSelectableChannel  ch, int ops, Object  att)
          ÀÌ ½Ç·ºÅÍ·Î ÁöÁ¤µÈ ä³ÎÀ» µî·ÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.nio.channels. Selector ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
keys , open , select , select , selectedKeys , selectNow , wakeup
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

»ý¼ºÀÚÀÇ »ó¼¼

AbstractSelector

protected AbstractSelector(SelectorProvider  provider)
ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

¸Þ¼ÒµåÀÇ »ó¼¼

close

public final void close()
                 throws IOException 
ÀÌ ½Ç·ºÅ͸¦ Ŭ·Î¿ìÁî ÇÕ´Ï´Ù.

½Ç·ºÅͰ¡ ¹ú½á Ŭ·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â Áï½Ã Á¾·áÇÕ´Ï´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì´Â ½Ç·ºÅÍÀÇ Å¬·Î¿ìÁ °ËÃâÇϸé(ÀÚ), ÀÌ Å¬·Î¿ìÁî Á¶ÀÛÀ» ¿Ï·áÇϱâ À§ÇØ(¶§¹®¿¡) implCloseSelector ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Selector ³»ÀÇ close
¿¹¿Ü:
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

implCloseSelector

protected abstract void implCloseSelector()
                                   throws IOException 
ÀÌ ½Ç·ºÅ͸¦ Ŭ·Î¿ìÁî ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ½Ç·ºÅ͸¦ ½ÇÁ¦·Î Ŭ·Î¿ìÁî Çϱâ À§ÇÑ(ÇØ),close ¸Þ¼Òµå¿¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ½Ç·ºÅͰ¡ ¾ÆÁ÷ Ŭ·Î¿ìÁî µÇÁö ¾Ê°í ÇâÈÄ ºÒ·Á °¥ °¡´É¼ºÀÌ ¾ø´Â °æ¿ì¿¡ ÇÑÇØ ºÒ·Á °©´Ï´Ù.

ÀÌ ¸Þ¼ÒµåÀÇ ±¸ÇöÀº ÀÌ ½Ç·ºÅÍ¿¡ ´ëÇÑ ¼±Åà Á¶ÀÛÀÇ µµÁß¿¡ ºí·Ï µÇ´Â thread¸¦,wakeup ¸Þ¼Òµå¸¦ È£ÃâÇßÀ» °æ¿ì¿Í °°ÀÌ Áï½Ã Á¾·áÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù.

¿¹¿Ü:
IOException - ½Ç·ºÅÍÀÇ Å¬·Î¿ìÁîÁß¿¡ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

isOpen

public final boolean isOpen()
Ŭ·¡½º Selector ÀÇ ±â¼ú:
ÀÌ ½Ç·ºÅÍ »óŰ¡ ¿ÀÇÂÀÏÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Selector ³»ÀÇ isOpen
¹Ýȯ°ª:
ÀÌ ½Ç·ºÅͰ¡ ¿ÀÇÂÀÎ °æ¿ì¿¡ ÇÑÇØ true

provider

public final SelectorProvider  provider()
ÀÌ Ã¤³ÎÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º Selector ³»ÀÇ provider
¹Ýȯ°ª:
ÀÌ Ã¤³ÎÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ

cancelledKeys

protected final Set  cancelledKeys()
ÀÌ ½Ç·ºÅͰ¡ »èÁ¦µÈ Ű ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù.

ÀÌ ¼¼Æ®´Â µ¿±âÈ­ µÇ°í ÀÖ´Â °æ¿ì¿¡ ÇÑÇØ »ç¿ë °¡´ÉÇÕ´Ï´Ù.

¹Ýȯ°ª:
»èÁ¦µÈ Ű ¼¼Æ®

register

protected abstract SelectionKey  register(AbstractSelectableChannel  ch,
                                         int ops,
                                         Object  att)
ÀÌ ½Ç·ºÅÍ·Î ÁöÁ¤µÈ ä³ÎÀ» µî·ÏÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ÀÌ ½Ç·ºÅÍ¿¡ ½ÇÁ¦·Î ä³ÎÀ» µî·ÏÇϱâ À§Çؼ­, ä³ÎÀÇ register ¸Þ¼Òµå¿¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
ch - µî·ÏµÇ´Â ä³Î
ops - À¯È¿ÇÑ Ãʱ⠴ë»ó ¼¼Æ®
att - »ý¼ºµÇ´Â ŰÀÇ Ãʱâ ÷ºÎ
¹Ýȯ°ª:
ÀÌ ½Ç·ºÅÍ·Î ÁöÁ¤µÈ ä³ÎÀÌ µî·ÏµÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³»´Â »õ·Î¿î Ű

deregister

protected final void deregister(AbstractSelectionKey  key)
ä³ÎÀÇ Å° ¼¼Æ®·ÎºÎÅÍ ÁöÁ¤µÈ ۸¦ »èÁ¦ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â Ç×»ó, µî·ÏÀÌ ÇØÁ¦µÇ´Â °³°³ÀÇ Ã¤³ÎÀÇ ½Ç·ºÅÍ¿¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
key - »èÁ¦µÇ´Â ¼±Åà Ű

begin

protected final void begin()
¹«±âÇÑÀ¸·Î ºí·Ï µÇ´Â ÀÔÃâ·Â Á¶ÀÛÀÇ °³½Ã¸¦ ¸¶Å© ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¶§´Â ÀÌ ½Ç·ºÅÍ¿¡ ¼¼Ä¡±â¸¦ ±¸ÇöÇϱâ À§ÇØ(¶§¹®¿¡),»ó±â¿Í °°ÀÌ try ... finally ºí·ÏÀ» »ç¿ëÇØ, Á¦ÈÞÇÏ´Â end ¸Þ¼Òµåµµ È£ÃâÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), ½Ç·ºÅÍ¿¡ ´ëÇÑ ÀÔÃâ·Â Á¶ÀÛÁß¿¡ ºí·Ï µÇ°í ÀÖ´Â threadÀÇ interrupt ¸Þ¼Òµå¸¦ È£ÃâÇßÀ» ¶§¿¡ ºÒ·Á °¡´Â ½Ç·ºÅÍÀÇ wakeup ¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù.


end

protected final void end()
¹«±âÇÑÀ¸·Î ºí·Ï µÇ´Â ÀÔÃâ·Â Á¶ÀÛÀÇ Á¾·á¸¦ ¸¶Å© ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¶§´Â ÀÌ ½Ç·ºÅÍ¿¡ ¼¼Ä¡±â¸¦ ±¸ÇöÇϱâ À§ÇØ(¶§¹®¿¡),»ó±â¿Í °°ÀÌ try ... finally ºí·ÏÀ» »ç¿ëÇØ, Á¦ÈÞÇÏ´Â end ¸Þ¼Òµåµµ È£ÃâÇÕ´Ï´Ù.


JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

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.