¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ  Á¦8Àå Thread.  8.2.4 Not Runnable»óÅ ¸¸µé±â  

 

8.2.4 Not Runnable»óÅ ¸¸µé±â

 

8.2.3Àý¿¡¼­ ½º·¹µå¸¦ »ý¼ºÇϰí startÇÑ ÈÄ, Runnable»óÅ·Πµé¾î°¡¸é run¸Þ¼­µå°¡ µ¿ÀÛÇÏ°Ô µÇ°í, run¸Þ¼­µå°¡ ÀÛ¾÷À» ³¡³»¸é ½º·¹µå´Â Dead»óÅ¿¡ µé¾î°¡´Â ¿¹Á¦µéÀ» ´Ù·ç¾î º¸¾Ò½À´Ï´Ù. ÇÏÁö¸¸, ¾ÆÁ÷ ´Ù·çÁö ¾ÊÀº °ÍÀÌ NotRunnable Áï, ½º·¹µå°¡ ´ë±â»óÅ·Πµé¾î°¡´Â °ÍÀº ¾ÆÁ÷ ´Ù·ç¾î º¸Áö ¾Ê¾Ò½À´Ï´Ù. °¡Àå ½±°Ô NotRunnable»óÅ·Πº¸³»´Â ¹æ¹ýÀº sleep¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀÔ´Ï´Ù.

 

´ÙÀ½Àº sleepÀ» ÀÌ¿ëÇÑ ¿¹Á¦ÀÔ´Ï´Ù.

 

NotRunnableThreadMain.java

import java.util.*;

class NotRunnableThread extends Thread{//½º·¹µå»ó¼Ó

             private int number=0;

             public NotRunnableThread(int n) {

                           System.out.println(this.getName()+":½º·¹µå½ÃÀÛ");

                           number = n;

             }

             public void run() {

                           int i = 0;

                           while(i < number) {

                                        System.out.println(this.getName() +":"+i + new Date().toString() + "\t");

                                        try{

                                                     this.sleep(1000);

                                        }catch(Exception e){System.out.println(e);}

                                        i++;

                           }

                           System.out.println(":½º·¹µåÁ¾·á");

             }

}

public class NotRunnableThreadMain {

   public static void main(String args[] ) {

                NotRunnableThread s = new NotRunnableThread(10);

                s.start();

   }

}

C:\examples\8. Thread>javac NotRunnableThreadMain.java

 

C:\examples\8. Thread>java NotRunnableThreadMain

Thread-0:½º·¹µå½ÃÀÛ

Thread-0:0Fri Jun 22 23:53:13 GMT+09:00 2001

Thread-0:1Fri Jun 22 23:53:14 GMT+09:00 2001

Thread-0:2Fri Jun 22 23:53:15 GMT+09:00 2001

Thread-0:3Fri Jun 22 23:53:16 GMT+09:00 2001

Thread-0:4Fri Jun 22 23:53:17 GMT+09:00 2001

Thread-0:5Fri Jun 22 23:53:18 GMT+09:00 2001

Thread-0:6Fri Jun 22 23:53:19 GMT+09:00 2001

Thread-0:7Fri Jun 22 23:53:20 GMT+09:00 2001

Thread-0:8Fri Jun 22 23:53:21 GMT+09:00 2001

Thread-0:9Fri Jun 22 23:53:22 GMT+09:00 2001

:½º·¹µåÁ¾·á

 

 ÇöÀç ÀÌ ¿¹Á¦ÀÇ run¸Þ¼­µå ³»¿¡¼­ sleep¸Þ¼­µå¸¦ È£ÃâÇϰí ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ½º·¹µå°¡ Runnable»óÅ¿¡ ÀÖ´Ù¸é NotRunnable»óÅ·Π¸¸µé¾î ¹ö¸³´Ï´Ù. À̶§ Thread´Â CPU¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» »ó½ÇÇÕ´Ï´Ù. sleepÀ» ÇÒ ¶§ ¾ó¸¶°£ NotRunnable»óÅÂÀϰÍÀÎÁö¸¦ ¸Å°³º¯¼ö·Î ³Ö¾î ÁÝ´Ï´Ù. À§ÀÇ ¼Ò½º¿¡¼­´Â 1000¹Ð¸® ¼¼ÄÁµå(1ÃÊ)¸¦ sleep½Ã۰í ÀÖ½À´Ï´Ù. 1ÃÊÀÇ ½Ã°£ÀÌ Áö³ª¸é ´Ù½Ã Runnable»óŰ¡ µÇ¾î ÇÁ·Î±×·¥À» ¼öÇàÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. À§ÀÇ °á°ú¿¡¼­ ½Ã°£ÀÌ 1Ãʸ¶´Ù º¯°æµÇ´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ±¸Á¶´Â ¾Æ·¡ÀÇ ±×¸²°ú °°ÀÌ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.

 

 

À§ÀÇ ÀýÂ÷¸¦ ¼ø¼­´ë·Î ³ªÅ¸³»¸é ´ÙÀ½°ú °°½À´Ï´Ù.

1.       NotRunnableThreadÀÇ »ý¼º

2.       NotRunnableThread°´Ã¼ÀÇ start¸Þ¼­µå È£Ãâ

3. 4. ¸Þ¼­µå È£Ãâ

A.        sleepµÇ¾úÀ» ¶§ 1000¹Ð¸®¼¼ÄÁµå¸¸Å­ Not Runnnable»óÅÂ

B.       ŸÀÓÀ» Ãʰú ÇßÀ» ¶§ ´Ù½Ã Runnable»óÅÂ

C.       ÀÌ¿Í °°Àº ÀÛ¾÷À» run¸Þ¼­µå¿¡¼­ ¹Ýº¹ÀûÀ¸·Î Á¦¾î

5.       ¸Þ¼­µå Á¾·á

 

NotRunnable»óŰ¡ µÇ¾úÀ» ¶§ ´Ù¸¥ ½º·¹µå°¡ Runnable»óÅ¿¡¼­ CPUÀÇ Á¦¾î±ÇÀ» °¡Áö°Ô µÇ°í ´Ù½Ã Runnable»óŰ¡ µÇ¾úÀ» ¶§ CPUÀÇ Á¦¾î±ÇÀ» ¾ò´Â´Ù¸é ½ÇÇàÀÌ µÇ´Â °ÍÀÔ´Ï´Ù. º¸ÅëÀÇ °æ¿ì Áö±Ýó·³ ÇϳªÀÇ ½º·¹µå¸¦ Á¦¾îÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿©·¯ °³ÀÇ ½º·¹µå¸¦ µ¿½Ã¿¡ Á¦¾îÇÏ´Â MultiThreading±â¹ýÀ» »ç¿ëÇÕ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ
ÀúÀÚ:ÃÖ¿µ°ü