Internet °ü·Ã ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   [Java] ¾²·¹µå #2 1998/12/03 (17:32)
À̸§ ±èÈ¿¿ø
¹øÈ£ 57
Á¶È¸ 992
º»¹® 1.4. ¾²·¹µåÀÇ Æ¯¼º°ú ¸Þ½îµå
   1.4.1. ¾²·¹µå ¸öü (Thread Body)
   ¾²·¹µå´Â run()¸Þ½îµå°¡ ÀÖ¾î¾ß µ¿ÀÛÇÑ´Ù. µû¶ó¼­ ¾²·¹µå ¸öü´Â
run() ¸Þ½îµå¶ó ÇÒ ¼ö ÀÖÀ¸¸ç  run()¸Þ½îµå´Â ¾²·¹µåÀÇ ½ÉÀåºÎ¶ó ÇÒ
¼ö ÀÖ´Ù. ¾²·¹µå°¡ »ý¼ºµÇ°í  ÃʱâÈ­µÇ°í ³ª¸é, ·±Å¸ÀÓ ½Ã½ºÅÛÀº  ¾²
·¹µåÀÇ run()¸Þ½îµå¸¦ È£ÃâÇÑ´Ù. ¾²·¹µå´Â À§ÀÇ ¿¹Á¦Ã³·³ for,  while
µîÀÇ ¹Ýº¹±¸Á¶¸¦ °¡Áú ¼ö ÀÖÀ¸¸ç, ¸¸¾à ftpµîÀ» ±¸ÇöÇÑ °æ¿ì¶ó¸é  ¿À
·£ ½Ã°£µ¿¾È Áö¼ÓÀûÀ¸·Î µ¿ÀÛÇÏ°Ô µÈ´Ù. ¾²·¹µå´Â ÀÚ¹Ù°¡ ´ÜÀÏÇÑ È®
Àå(»ó¼Ó)¹Û¿¡ ÇÒ ¼ö ¾ø±â ¶§¹®¿¡  µÎ°¡Áö ¹æ¹ýÀ¸·Î ±¸ÇöÇÒ ¼ö  ÀÖ´Ù.
ƯÈ÷ ¾ÖÇø´À» ¸¸µç °æ¿ì´Â »ó¼ÓÀ» "extends java.applet.Applet"À¸·Î
ÇؾßÇϱ⠶§¹®¿¡ Thread¸¦ »ó¼ÓÇÒ  ¼ö ¾ø´Ù. µû¶ó¼­ ÀÌ·±  °æ¿ì¿¡´Â
implement RunnablÀ» »ç¿ëÇÏ¿© ±¸ÇöÇÒ ¼ö  ÀÖ´Ù. µû¶ó¼­ ´ÙÀ½°ú °°
Àº µÎ°¡Áö ¹æ¹ýÀÌ Á¸ÀçÇÑ´Ù.

   ¨ç Thread Ŭ·¡½ºÀÇ ¼­ºêŬ·¡½º¸¦ ¸¸µé¾î ThreadÀÇ run() ¸Þ½î
µå¸¦ overrideÇÏ´Â °æ¿ì. ÀÌ·±  ¹æ¹ýÀº ¾Õ¿¡¼­ RoseThread.java¿¡¼­
»ç¿ëÇÑ ¹æ¹ýÀÌ´Ù.
   ¨è Runnable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ Å¬·¡½º¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.
Runnable ÀÎÅÍÆäÀ̽º´Â java.langÀÇ ÆÐÅ°Áö¿¡ Æ÷ÇԵǾî ÀÖ´Ù. ÀÌ °æ
¿ì, ¾²·¹µå¸¦   ÀνºÅº½ºÈ­ÇÏ°Ô µÇ¸é,  »õ·Î¿î ¾²·¹µå   ÇÚµéÀ» ¸¸µç
Runnable Ŭ·¡½ºÀÇ ÀνºÅº½º¿¡ ³Ñ°ÜÁÖ°Ô µÈ´Ù. ÀÌ·± Runnable °´Ã¼
´Â run()¸Þ½îµå¸¦ ¾²·¹µå¿¡°Ô Á¦°øÇÑ´Ù. ÀÌ·± ¹æ¹ýÀ» ÅëÇØ ¾ÖÇø´À»
ÀÛ¼ºÇÏ´Â ¹æ¹ýÀº ¾Æ³¯·Î±× ½Ã°è ¿¹Á¦¿¡¼­ ÀÚ¼¼ÇÏ°Ô ´Ù·ê °ÍÀÌ´Ù.
   ¨é Åë»óÀûÀÎ ÀÌ¿ë(Rule of  Tumb) : ÀÚ¹Ù¹®¼­¿¡¼­´Â ¸¸¾à  ¾î¶²
Ŭ·¡½º·ÎºÎÅÍ »ó¼ÓÀ» ¹Þ°Ô µÈ´Ù¸é, µÎ¹ø° °æ¿ìÀÎ RunnableÀ»  »ç¿ë
ÇÒ °ÍÀ» ±Ç°íÇÏ°í ÀÖ´Ù.  ¹°·Ð ÇöÀç ³ª¿ÍÀÖ´Â  ´ëºÎºÐÀÇ ¾ÖÇø´µéÀº
µÎ¹ø° °æ¿ì¸¦ »ç¿ëÇÏ°í ÀÖ´Ù.

   1.4.2. ¾²·¹µå »óÅÂ(Thread State)
   ¸ðµç °´Ã¼°¡ ±×·¯ÇϵíÀÌ ¾²·¹µåµµ ÇϳªÀÇ °´Ã¼À̱⠶§¹®¿¡ »ý¼º
(new)À¸·Î ½ÃÀÛÇÏ¿© »ç¸ê(Dead)ÇÏ´Â °úÁ¤À» °Þ´Â´Ù. »ý¼ºÇÏ¿©  »ç¸ê
Çϱâ±îÁö ÇÁ·Î±×·¥µÈµ¥·Î ¿©·¯°¡Áö »óÅ·Π¿Å°Ü´Ù´Ï°Ô  µÈ´Ù.  ¾²·¹
µåÀÇ »óź¯È­¸¦ ´ÙÀ̾î±×·¥À¸·Î Ç¥ÇöÇÏ¸é ´ÙÀ½°ú °°´Ù. (±×¸²À» ³Ö
À» ¼ö°¡ ¾ø¾î¼­ Âü!! Èûµé±º¿ä)

   À§¿¡¼­ º¸À̵íÀÌ  ¾²·¹µå´Â  ¢Á»ý¼º(new) ¢Á½ÃÀÛ(start)  ¢Á½ÇÇà
(run) ¢Á¸ØÃã(stop,  exit) ¢Á»ç¸ê(Dead)  ¢ÁÈÞ½Ä(Not Runnable)µîÀÇ
»óŸ¦ ¿Å°Ü´Ù´Ï¸ç ÁÖ¾îÁø ¿ªÇÒÀ» ÇÏ°í »ç¶óÁö°Ô µÈ´Ù. °¢°¢ÀÇ »óÅÂ
¸¦ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ.
   ¨ç New Thread - ¾²·¹µå¸¦ »ý¼ºÇÑ´Ù.
   »õ·Î¿î ¾²·¹µå¸¦ »ý¼ºÇÑ´Ù. ±×·¯³ª »ý¼º¸¸ ÇÒ »Ó ¾ÆÁ÷ ½ÃÀÛµÇÁö
¾ÊÀºÃ¼·Î ³²¾Æ ÀÖ´Ù. ÀÌ »óÅ¿¡¼­´Â µÎ°¡Áö °æ¿ì°¡ Á¸ÀçÇÑ´Ù. Áï  »ý
¼ºµÈ ¾²·¹µå¸¦ ½ÃÀÛÇϰųª, ¸ØÃß°Ô ÇÏ´Â °ÍÀÌ´Ù.
   ¡Ý start()´Â »ý¼ºµÈ ¾²·¹µå¸¦ ½ÃÀÛÇÏ°Ô ÇÑ´Ù. ¾²·¹µå Ŭ·¡½º¿¡¼­
start()´Â run()À» È£ÃâÇÏ°Ô µÇ¾îÀÖ´Ù. µû¶ó¼­ »ý¼ºµÈ ¾²·¹µå°¡  µ¿ÀÛ
ÇÏ°Ô ÇØÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.
   ¡Ý stop()Àº »ý¼ºµÈ ¾²·¹µå¸¦ ¸ØÃß°Ô ÇÑ´Ù.

   ¨è Runnable - ½ÇÇà°¡´ÉÇÑ ¾²·¹µå
   ÀÌ »óÅ´ ½ÇÇà°¡´ÉÇÑ ¾²·¹µå¸¦ ¸¸µå´Â  °ÍÀÌ´Ù. Runnable »óÅÂ
·Î ¿À±â À§Çؼ­´Â ¾²·¹µå  °´Ã¼¸¦ ½ÇÇà½ÃÄÑ¾ß Çϴµ¥,  ±×·¸°Ô Çϱâ
À§Çؼ­´Â ¾²·¹µå °´Ã¼ÀÇ run()À» È£ÃâÇØ¾ß ÇÑ´Ù. À§¿¡¼­µµ »ìÆ캸¾Ò
µíÀÌ   start()¸¦   È£ÃâÇÏ¸é   run()À»   È£ÃâÇÑ´Ù.  Runnable»óÅ´Â
"Running"À¸·Î °£´ÜÇÏ°Ô »ý°¢ÇÏ¸é  µÇ´Âµ¥, ÇöÀç  Runnable »óÅ¿¡
¿Í ÀÖ´Ù¸é, run() ¸Þ½îµå°¡ ¿¬¼ÓÀûÀ¸·Î µ¿ÀÛÇÏ°í ÀÖ´Â ÁßÀÌ´Ù.

   ¨é Not Runnable
    ¸î°¡Áö À̺¥Æ®°¡ ¹ß»ýÇÏ¸é ¾²·¹µå°¡ Not  Runnable »óÅ·Πµé
¾î°¡µ¥ µÇ´Âµ¥, ±×·± À̺¥Æ®¸¦ ¹ß»ý½ÃÅ°´Â ¸Þ½îµå´Â ´ÙÀ½°ú °°´Ù.
   ¢Á suspend() ¸Þ½îµå°¡ È£ÃâµÇ¾úÀ» ¶§ - ÀÌ ¸Þ½îµå°¡ È£ÃâµÇ¸é,
this ThreadÀÇ ½ÇÇàÀÌ º¸·ùµÈ´Ù.(Àý´ë Á×´Â °ÍÀÌ ¾Æ´Ô) Çѹø  º¸·ùµÈ
¾²·¹µå´Â resume()¿¡ ÀÇÇØ µ¿ÀÛÀ» Àç°³ÇÒ ¼ö ÀÖ´Ù.
   ¢Á sleep() ¸Þ½îµå°¡ È£ÃâµÇ¾úÀ» ¶§  - ÁöÁ¤µÈ ½Ã°£¸¸Å­ this ¾²
·¹µåÀÇ ½ÇÇàÀ» ½¬°Ô ÇÑ´Ù. ¾ÕÀÇ RoseThread.java ¿¹Á¦ÀÇ 15¹ø°ÁÙÀº
¹«ÀÛÀ§·Î ÃßÃâµÈ °ª¸¸Å­ ¾²·¹µå¸¦ ½¬°Ô ÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù.
   ¢Á ¾²·¹µå°¡ wait() ¸Þ½îµå¸¦ »ç¿ëÇÒ ¶§ - java.lang.ObjectÀÇ ¸Þ
½îµå·Î½á, ÁöÁ¤µÈ ½Ã°£¸¸Å­ ¾²·¹µå¸¦ ´ë±âÇÏ°Ô  ¸¸µç´Ù. ¸¸¾à wait()
¸¦ ¸Å°³º¯¼ö¾øÀÌ »ç¿ëÇÏ¸é °è¼ÓÇؼ­ ´ë±âÇÏ°Ô  µÈ´Ù. ´ë±âÇÏ°í ¾²·¹
µå¸¦ ´Ù½Ã  µ¿ÀÛÇÏ°Ô  ¸¸µé·Á¸é, ¿ª½Ã   java.lang.ObjectÀÇ ¸Þ½îµåÀÎ
notify() ³»Áö´Â notifyAll()À» »ç¿ëÇÏ¿© Á¶°ÇÀÌ º¯ÇßÀ½À» Å뺸¹Þ¾Æ¾ß
ÇÑ´Ù.
   ¢Á ¾²·¹µå°¡ ÀÔÃâ·Â¿¡ ÀÇÇØ ¸·ÇôÀÖÀ» ¶§ - ÇöÀç  µ¿ÀÛÁßÀÎ ÀÔÃâ
·ÂÀÌ ¿ÏÀüÈ÷ Á¾·áÇÒ ¶§±îÁö ±â´Ù¸®´Ù°¡,  ÀÔÃâ·ÂÀÌ Á¾·áµÇ¸é ¾²·¹µå
°¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ°Ô µÈ´Ù.

   ¨ê Dead - ¼Ò¸ê
   ¾²·¹µå´Â µÎ°¡Áö ¹æ¹ýÀ¸·Î ¼Ò¸êÇÏ°Ô  µÈ´Ù. Çϳª´Â Á¤»óÀûÀÎ Á¾
·á¸¦ ÅëÇؼ­ÀÌ°í, ´Ù¸¥ Çϳª´Â °­Á¦ÀûÀ¸·Î Á¾·áµÇ´Â °ÍÀÌ´Ù.
   ¢Á Á¤»óÀûÀÎ ¼Ò¸ê
   Á¤»óÀûÀ¸·Î ¼Ò¸êÇÏ´Â °ÍÀº ¾²·¹µåÀÇ  ½ÉÀåÀÎ run()ÀÌ ¾Æ¹«·± Å»
¾øÀÌ Á¾·áÇÏ´Â °æ¿ìÀÌ´Ù. ¾Õ¿¡¼­µµ  À̾߱âÇßµíÀÌ ¾²·¹µå´Â run()¿¡
ÀÇÇؼ­ µ¿ÀÛÇÒ Á¤µµ·Î  run()Àº ¾²·¹µåÀÇ  ½ÉÀåÀÌ´Ù. ´ÙÀ½ÀÇ  ¿¹Á¦¸¦
º¸ÀÚ
   public void run() {
        int i = 0 ;
        while (i<100) {
             i++ ;
             System.out.println("i = " + i ) ;
        }  // end while
   }// end run()

   À§ÀÇ ¿¹Á¦´Â ¾²·¹µå¸¦ µ¿ÀÛ½ÃÅ°´Â run() ¸Þ½îµåÀÌ´Ù. À̹ø run()
¸Þ½îµå´Â 0ºÎÅÍ 99±îÁö ¼ö¸¦ Ãâ·ÂÇÏ°í i°ªÀÌ 100ÀÌ µÇ¸é ÀÚ¿¬½º·´°Ô
Á¾·áÇÏ°Ô µÈ´Ù. µû¶ó¼­ ¾²·¹µåµµ Á¾·áÇÏ°Ô µÇ´Â °ÍÀÌ´Ù.
   ¢Á °­Á¦ÀûÀÎ Á¾·á
   °­Á¦ÀûÀÎ Á¾·á´Â   ¾²·¹µå¸¦ Thread  Å¬·¡½º¿¡  Á¤ÀÇµÇ¾î  ÀÖ´Â
stop() ¸Þ½îµå¸¦ »ç¿ëÇÏ¿© Á¤Áö½ÃÄÑ »ç¸ê½ÃÅ°´Â °ÍÀÌ´Ù. °­Á¦ÀûÀÎ Á¾
·á¸¦ ÇÔÀ¸·Î½á ¾ò¾îÁö´Â ÀÌÀÍÀº ¾î¶² ƯÁ¤ÇÑ Á¶°ÇÀÌ ¹ß»ýÇÏ¸é ¾²·¹
µå¸¦ ¾ðÁ¦µçÁö Á¾·á½Ãų ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ´ÙÀ½ÀÇ ¿¹Á¦¸¦ º¸ÀÚ
   Thread my = new Thread() ;
   my.start() ;
   try {
       Thread.currentThread().sleep(1000) ;
   } catch(InterruptedException e) {}
   my.stop() ;
   ÀÌ   ¿¹Á¦¿¡´Â   ¾Õ¿¡¼­   »ìÆì   º¸¾Ò´ø   start()°¡   µîÀåÇÏ°í,
currentThread()°¡ »õ·ÎÀÌ µîÀåÇÑ´Ù.
   ¡Ý start()´Â run()À» È£ÃâÇÏ¿© ¾²·¹µå¸¦ µ¿ÀÛ½ÃŲ´Ù.
   ¡Ý   currentThread()´Â  ÇöÀç   µ¿ÀÛÁßÀÎ  ¾²·¹µå¸¦   ¸®ÅÏÇÑ´Ù.
Thread.currentThread().sleep(1000)ÀÇ Àǹ̸¦ »ìÆ캸¸é Thread Ŭ·¡
½ºÀÇ currentThread()¸¦ ÅëÇØ ÇöÀç µ¿ÀÛÁßÀÎ ¾²·¹µå¸¦ ¾ò¾î¿À°í, ¾ò
¾î¿Â ¾²·¹µå¸¦   °´Ã¼·Î ÇÏ¿©  ±×  °´Ã¼ÀÇ sleep(1000)¸¦   ÅëÇØ 1ÃÊ
(1000milsec)µ¿¾È Àá½Ã ½¬°Ô ÇÑ´Ù.
   ¡Ý try catch  ¹®ÀåÀº ¾ÆÁ÷ ¿ì¸®°¡  ´Ù·ç´Â ³»¿ëÀÌ ¾Æ´Ï°í  µÚÀÇ
¸îÀå¿¡¼­ ´Ù·é´Ù.
   ¡Ý ¸¶Áö¸·À¸·Î stop()À» ÅëÇØ Ã³À½¿¡ »ý¼ºÇß´ø my  ¾²·¹µå¸¦ °­
Á¦ÀûÀ¸·Î Á¾·á½ÃŲ´Ù.

   ¨ë isAlive()´Â Thread Ŭ·¡½º¿¡  Æ÷ÇԵǾî ÀÖ´Â ¸Þ½îµå·Î½á  ¾²
·¹µå°¡ È°¼ºÈ­µÇ¾î ÀÖ´Ù¸é true¸¦ ¾Æ´Ï¸é false¸¦  ¸®ÅÏÇÏ´Â boolean
Çü ¸Þ½îµåÀÌ´Ù. µû¶ó¼­ ƯÁ¤ ¾²·¹µå°¡ RunnableÀÎÁö¸¦ È®ÀÎÇÏ±â  À§
Çؼ­´Â  isAlive()¸¦ »ç¿ëÇÏ¸é µÈ´Ù.

   1.4.3. ¾²·¹µå ¿ì¼±¼øÀ§(Thread Priority)
   °¡º­¿î °¨±â³ª ¸ö»ìÁ¤µµ·Î ´ëÇü º´¿ø¿¡ ã¾Æ°¡ ÁøÂûÀ» ¹ÞÀ¸·Á°í
ÇÏ¸é ¸î½Ã°£ µ¿¾È ±â´Ù·Á¾ß¸¸ ÇÑ´Ù. ±×·¯³ª ±³Åë»ç°í³ª È­»óµîÀÇ È¯
ÀÚ´Â »¡°£ºÒÀÌ ÄÑÁö°í º´¿ø°ü°èÀÚµéÀÌ  ¹Ù»ß ¶Ù¾î´Ù´Ï¸é À绡¸®  ÀÀ
±ÞÄ¡·áºÎÅÍ ÇÊ¿äÇÏ´Ù¸é ¼ö¼ú±îÁö µé¾î°¥  ¼ö °¡ ÀÖ´Ù.  ÀÌ°ÍÀº °áÄÚ
ºÒ°øÆòÇÑ °ÍÀÌ ¾Æ´Ï´Ù. ÀÌ°ÍÀº »ç¶÷ÀÇ ¸ñ¼ûÀ» »ì¸®±â À§ÇÑ ¿ì¼±¼øÀ§
¿¡ µû¸¥ °ÍÀÌ´Ù. °¡º­¿î °¨±âº¸´Ù´Â ±³Åë»ç°í¿¡ ÀÇÇÑ ÁßȯÀÚ°¡ ¸ÕÀú
Ä¡·á¹Þ´Â °ÍÀº ÁßȯÀÚÀÇ ¿ì¼±¼øÀ§(Priority)°¡ ³ô´Ù°í À̾߱â ÇÑ´Ù.
   ¾²·¹µå¿¡µµ ¿ì¼±¼øÀ§°¡ ÀÖ´Ù. °¢±â °°Àº ¿ì¼±¼øÀ§·Î ½ÇÇàµÈ´Ù¸é,
ÇϳªÀÇ ÇÁ·Î¼¼½º¸¦ ÀÛ¾÷ÀÇ °æÁß¿¡  »ó°ü¾øÀÌ ³ª´©¾îÁÖ´Â °ÍÀÌ  µÇ¾î
¹ö¸°´Ù. ¸¸¾à Áß¿äÇÑ ¾²·¹µå°¡ ³·Àº ¿ì¼± ¼øÀ§¸¦ °¡Áö°í ÀÖ°í,  ÃµÃµ
È÷ Çصµ µÇ´Â ¾²·¹µå°¡ ³ôÀº ¿ì¼±¼øÀ§¸¦  °¡Áö°í ÀÖ´Ù¸é, ¾Æ¸¶ Áß¿ä
ÇÑ ÀÏÀ» ³¡³ª±â¸¦ ÇÑÂüÀ»  ±â´Ù·Á¾ß ÇÒ °ÍÀÌ´Ù.  µû¶ó¼­ ÀÚ¹Ù¿¡¼­´Â
¿ì¼±¼øÀ§¸¦ ÃÖ¼Ò°ª 1ºÎÅÍ ÃÖ´ë°ª 10±îÁö, Á¤»óÀûÀÎ ¿ì¼±¼øÀ§ °ªÀÎ 5
¸¦ Thread Ŭ·¡½º Á¤ÀÇ¿¡ °¡Áö°í ÀÖ´Ù.
   ¢Á ¿ì¼±¼øÀ§¿¡ °ü°èµÈ ¸Þ½îµåµéÀº ´ÙÀ½°ú °°´Ù.
   ¡Ý setPriority(int ) - ¾²·¹µåÀÇ ¿ì¼±¼øÀ§¸¦  ¸Å°³º¯¼ö·Î Á¤ÇÑ´Ù.
¿ì¼±¼øÀ§°¡ ÃÖ¼Ò°ª°ú ÃÖ´ë°ªÀ»  ¹þ¾î³ª¸é IllegalArgumentException
ÀÌ ¹ß»ýÇÑ´Ù.
   ¡Ý getPriority() - ¾²·¹µåÀÇ  ¿ì¼±¼øÀ§¸¦ ¾ò¾î¼­ Á¤¼ö°ªÀ¸·Î  ¸®
ÅÏÇÑ´Ù.
   ¢Á ¿ì¼±¼øÀ§¿¡ °ü°èµÈ °ªµéÀº ´ÙÀ½°ú °°´Ù.
   ¡Ý MIN_PRIORITY = 1 : ¾²·¹µå°¡ °¡Áú¼ö ÀÖ´Â ÃÖ¼Ò ¿ì¼±¼øÀ§
   ¡Ý MAX_PRIORITY = 10 : ¾²·¹µå°¡ °¡Áú¼ö ÀÖ´Â ÃÖ´ë ¿ì¼±¼ø
ˤ
   ¡Ý NORM_PRIORITY = 5 : ¾²·¹µå°¡ °¡Áö´Â  Á¤»óÀûÀÎ ¿ì¼±¼ø
ˤ

   1.4.4. µ¥¸ó ¾²·¹µå(Daemon Thread)
       µ¥¸ó(Daemon)  : ÇÁ·Î±×·¥¿¡¼­ ±âµ¿Á¶°ÇÀÌ ÃæÁ·µÇ¾úÀ» ¶§¿¡
   ÀÛµ¿Çϱ⠽ÃÀÛÇÏ´Â ÀýÂ÷,  ÀϹÝÀûÀÎ ÇÁ·Î±×·¥¿¡¼­´Â ±âµ¿Á¶°ÇÀÌ
   µ¥¸ó ÀÚü¿¡ ÁöÁ¤µÇ¾î À־,  µ¥¸óÀÌ ½º½º·Î ±âµ¿Á¶°ÇÀ» ÆÇ´Ü
   ÇÑ´Ù. µµ½º¿¡¼­ ·¥»óÁÖÇÁ·Î±×·¥À̳ª  ¹ÙÀÌ·¯½ºµîÀÌ ÀÌ¿¡ ¼ÓÇÑ´Ù
   °í ÇÒ ¼ö ÀÖ´Ù.
       Âü°í : À¯´Ð½º¿¡¼­ µ¥¸ó
       À¯´Ð½º¿¡¼­´Â »ý°¢º¸´Ù ¸¹Àº µ¥¸óÀÌ »ç¿ëµÈ´Ù. ÇÁ¸°Æ®, Åë½Å,
   ±âŸµîµî. ½ÇÇàµÇ°í ÀÖ´Â ÇÁ·Î¼¼½º°¡  µ¥¸óÀÎÁö ¾Æ´ÑÁö´Â ±× ½Ç
   ÇàÈ­ÀÏÀÇ À̸§ÀÌ d·Î  ³¡³ª´Â°¡¸¦ È®ÀÎÇÏ¸é  °ÅÀÇ µé¾î ¸Â´Â´Ù.
   °¢°¢ÀÇ µ¥¸óÀÇ À̸§°ú ¿ªÇÒ¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ.
       inetd : ÀÌ°ÍÀÌ ±âµ¿µÇ¾î¾ß Åë½ÅÀÌ °¡´ÉÇÔ.
       telnetd : LocalÀ» telnet À¸·Î Á¢¼ÓÇÒ ¼ö ÀÖ°Ô ÇØÁÜ
       ftpd : Local System À» ftp·Î ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÜ
       httpd : Local System¿¡¼­ http ¼­¹ö ¿ªÇÒÀ»  Çϸç Ŭ¶óÀ̾ð
   Æ®°¡ http ÇÁ·ÎÅäÄÝ·Î Á¢¼ÓÇÏ¿© ¼­ºñ½º¸¦ ¿ä±¸ÇÏ¸é ¼­ºñ½º¸¦ Á¦
   °øÇÔ
   ÀÚ¹Ù¾²·¹µå´Â µ¥¸ó¾²·¹µå°¡ µÉ ¼ö ÀÖ´Ù. µ¥¸ó ¾²·¹µå´Â °°Àº ÇÁ
·Î¼¼½º¾È¿¡¼­ µ¿ÀÛÁßÀÎ ´Ù¸¥ ¾²·¹µå³ª  °´Ã¼¿¡ µ¥¸ó ¾²·¹µå·Î½á  ¼­
ºñ½º¸¦  Á¦°øÇÑ´Ù.  °¡Àå  ´ëÇ¥ÀûÀÎ   ¿¹·Î ÇÖÀÚ¹Ù°¡   °¡Áö°í  ÀÖ´Â
Background Image Reader¿Í °°Àº µ¥¸ó  ¾²·¹µåÀÌ´Ù. ÀÌ µ¥¸ó ¾²·¹
µå´Â À̹ÌÁö¸¦ ÇÊ¿ä·Î ÇÏ´Â ¾î¶² °´Ã¼³ª ¾²·¹µå¿¡°Ô À̹ÌÁö¸¦ ÀаÔ
ÇØÁØ´Ù.
   µ¥¸ó ¾²·¹µå´Â »ç¸êÇϱâ Àü±îÁö ¹«ÇÑÁ¤ ·çÇÁ¸¦ µ¹°Ô µÈ´Ù. ÀÚ½Å
¿¡°Ô ¼­ºñ½º¸¦ ¿ä±¸ÇÏ´Â ¾î¶²  ¿äû¿¡µµ ÀÀ´äÇϱâ À§ÇØ  °è¼ÓÀûÀ¸·Î
µ¿ÀÛÇØ¾ß ÇÏ´Â °ÍÀÌ´Ù. ¸¸¾à ÇÁ·Î¼¼½º°¡  µ¥¸ó¾²·¹µå¸¸ °¡Áö°í ÀÖ´Ù
¸é ÀÚ¹ÙÀÎÅÍÇÁ¸®ÅÍ´Â Á¾·áÇÏ°Ô  µÈ´Ù. ¿Ö³ÄÇÏ¸é  µ¥¸ó¾²·¹µå È¥ÀÚ¸¸
µ¿ÀÛÇÏ°í ÀÖ´Ù¸é, ¾î¶² ¾²·¹µå¿¡°Ôµµ ¼­ºñ½º¸¦ Á¦°øÇÒ ÀÏÀÌ ¾ø±â ¶§
¹®ÀÌ´Ù.
   ¢Á °ü°èµÈ ¸Þ½îµå
   ¡Ý setDaemon() - ÁöÁ¤µÈ ¾²·¹µå¸¦  µ¥¸ó¾²·¹µå·Î ¸¸µé¾î ÁÖ´Â
¸Þ½îµå. ¸Å°³º¯¼ö¸¦ boolean°ª onÀ¸·Î ÇÏ¸é µ¥¸ó ¾²·¹µå°¡ µÇ°í, off
·Î ÁÖ¸é ÀϹÝÀûÀÎ ¾²·¹µå·Î µ¹¾Æ¿À°Ô µÈ´Ù.
   ¡Ý isDaemon() - ÁöÁ¤µÈ ¾²·¹µå°¡ µ¥¸ó¾²·¹µåÀΰ¡¸¦ È®ÀÎÇØ ÁÖ
´Â ¸Þ½îµå
   ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤
   ¦¢ÀÌ ±ÛÀº ÇÊÀÚ¿ÍÀÇ µ¿ÀÇ ¾øÀÌ »ó¾÷ÀûÀ¸·Î   ¦¢
   ¦¢                                        ¦¢
   ¦¢¸®Æ÷½ºÆõǰųª ÀÌ¿ëµÉ ¼ö ¾ø½À´Ï´Ù.      ¦¢
   ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥

                 ½Å¼¼´ë ¾ð¾î, ÀÚ¹Ù Àü¹®°¡¸¦ ²Þ²Ù´Â

                 ÀáÅÊÀÌ 3Àιæ, ½ÅÁ¤È£, Á¦°¥¿µ, Á¶±¹



HomePage Backward Forward Post Reply List
1998 by swindler