½º·¹µåÀÇ ÀÛ¾÷ÀÇ ¿ì¼±±ÇÀ» ¾î¶»°Ô ÁÖ´À³Ä¿¡ µû¶ó¼ ½º·¹µåÀÇ ÀÛ¾÷¼ø¼°¡ ´Þ¶óÁý´Ï´Ù. ½º·¹µå¿¡ ÇÒ´çÇÒ ¼ö ÀÖ´Â ½º·¹µåÀÇ ¿ì¼±±Ç°ªÀº ´ÙÀ½°ú °°½À´Ï´Ù.
n static int MAX_PRIORITY
n static int MIN_PRIORITY
n static int NORM_PRIORITY
½º·¹µåÀÇ ¿ì¼±±Ç¿¡ ´ëÇÑ °ªÀº ThreadŬ·¡½ºÀÇ public static final»ó¼ö·Î Á¤ÀÇ µÇ¾î ÀÖ½À´Ï´Ù. ¿©·¯ºÐµéÀº ÀÌ »ó¼ö°ªÀ» ÀÌ¿ëÇØµµ µÇ¸ç Thread. MAX_PRIORITY¿Í Thread. MIN_PRIORITY»çÀÌÀÇ °ªÀ» Á÷Á¢ÇÒ´çÇØµµ µË´Ï´Ù. ÀÌ °ªÀ» ÇÒ´ç ÇÒ¶§´Â ThreadŬ·¡½ºÀÇ ¸â¹ö¸Þ¼µåÀÎ setPriority¸Þ¼µå¸¦ »ç¿ëÇÕ´Ï´Ù. setPriority¸Þ¼µåÀÇ ¼±¾ðÀº ´ÙÀ½°ú °°½À´Ï´Ù.
n public final void setPriority(int newPriority)
ÀÌ ¸Þ¼µå´Â finalÀ̱⠶§¹®¿¡ ÀçÁ¤ÀÇ µÉ ¼ö ¾ø½À´Ï´Ù. ±×¸®°í ¸¸¾à ÇöÀç ¼³Á¤µÇ¾î ÀÖ´Â priority°ªÀ» ¾ò°íÀÚ ÇÑ´Ù¸é
n public final int getPriority()
getPriorty¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¿© ½º·¹µå°¡ °¡Áø ¿ì¼±±ÇÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ ±×·³ ÀÌ µÎ ¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¿© ½º·¹µåÀÇ ¿ì¼±±ÇÀ» Á¦¾îÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
PriorityThreadMain.java |
class SoloThread extends Thread {//½º·¹µå»ó¼Ó private int number=0; public SoloThread(int n) { System.out.print(this.getName() + ":½º·¹µå½ÃÀÛ\t"); number = n; } public void run() { int i = 0; while(i < number) { System.out.print(getName() + ":p:"+this.getPriority() + ":"+i + "\t"); try{ this.sleep(1); }catch(Exception e){System.out.println(e);} i++; } System.out.println("\n" + this.getName()+ ":p:"+this.getPriority() + ":½º·¹µåÁ¾·á\t"); } } public class PriorityThreadMain { public static void main(String args[] ) { System.out.println("Main¸Þ¼µå½ÃÀÛ"); System.out.println("Thread.MAX_PRIORITY:" +Thread.MAX_PRIORITY); System.out.println("Thread.MIN_PRIORITY:" +Thread.MIN_PRIORITY); System.out.println("Thread.NORM_PRIORITY:" +Thread.NORM_PRIORITY); for(int i=Thread.MIN_PRIORITY; i<Thread.MAX_PRIORITY+1; i++){ SoloThread s = new SoloThread(100); s.setPriority(i); s.start(); } System.out.println("Main¸Þ¼µåÁ¾·á"); } } |
C:\examples\8. Thread>javac PriorityThreadMain.java C:\examples\8. Thread>java PriorityThreadMain Main¸Þ¼µå½ÃÀÛ Thread.MAX_PRIORITY:10 Thread.MIN_PRIORITY:1 Thread.NORM_PRIORITY:5 Thread-0:½º·¹µå½ÃÀÛ Thread-1:½º·¹µå½ÃÀÛ Thread-2:½º·¹µå½ÃÀÛ Thread-3 :½º·¹µå½ÃÀÛ Thread-4:½º·¹µå½ÃÀÛ Thread-5:½º·¹µå½ÃÀÛ Thread-5:p:6:0 Thread-6:½º·¹µå½ÃÀÛ Thread-6:p:7:0 Thread-7:½º·¹µå½ÃÀÛ Thread-7:p:8:0 Thread-8:½º·¹µå½ÃÀÛ Thread-8:p:9:0 Thread-9:½º·¹µå½ÃÀÛ Thread-9:p:10:0 Main¸Þ¼µåÁ¾·á Thread-4:p:5:0 Thread-2:p:3:0 Thread-3:p:4:0 Thread-0:p:1:0 Thread-1:p:2:0 Thread-9:p:10:1 Thread-7:p:8:1 Thread-8:p:9:1 Thread-5:p:6:1 Thread-6:p:7:1 Thread-4:p:5:1 Thread-2:p:3:1 Thread-3:p:4:1 Thread-1:p:2:1 Thread-0:p:1:1 ¡¦¡¦¡¦Áß°£ »ý·« Thread-8:p:9:97 Thread-5:p:6:95 Thread-6:p:7:95 Thread-4:p:5:92 Thread-9:p:10:½º·¹µåÁ¾·á Thread-7:p:8:99 Thread-8:p:9:98 Thread-7:p:8:½º·¹µåÁ¾·á Thread-8:p:9:99 Thread-5:p:6:96 Thread-6:p:7:96 Thread-4:p:5:93 Thread-3:p:4:85 Thread-8:p:9:½º·¹µåÁ¾·á Thread-5:p:6:97 Thread-6:p:7:97 Thread-4:p:5:94 Thread-2:p:3:86 Thread-3:p:4:86 Thread-0:p:1:79 Thread-5:p:6:98 Thread-6:p:7:98 Thread-4:p:5:95 Thread-2:p:3:87 Thread-3:p:4:87 Thread-1:p:2:82 Thread-5:p:6:99 Thread-6:p:7:99 Thread-4:p:5:96 Thread-2:p:3:88 Thread-3:p:4:88 Thread-0:p:1:80 Thread-1:p:2:83 Thread-5:p:6:½º·¹µåÁ¾·á Thread-6:p:7:½º·¹µåÁ¾·á Thread-4:p:5:97 Thread-2:p:3:89 Thread-3:p:4:89 Thread-0:p:1:81 Thread-1:p:2:84 Thread-4:p:5:98 Thread-2:p:3:90 Thread-3:p:4:90 Thread-0:p:1:82 Thread-1:p:2:85 Thread-4:p:5:99 Thread-2:p:3:91 Thread-3:p:4:91 Thread-0:p:1:83 Thread-1:p:2:86 Thread-4:p:5:½º·¹µåÁ¾·á Thread-2:p:3:92 Thread-3:p:4:92 Thread-0:p:1:84 Thread-1:p:2:87 Thread-2:p:3:93 Thread-3:p:4:93 Thread-0:p:1:85 Thread-1:p:2:88 Thread-2:p:3:94 Thread-3:p:4:94 Thread-0:p:1:86 Thread-1:p:2:89 Thread-2:p:3:95 Thread-3:p:4:95 Thread-0:p:1:87 Thread-1:p:2:90 Thread-2:p:3:96 Thread-3:p:4:96 Thread-0:p:1:88 Thread-1:p:2:91 Thread-2:p:3:97 Thread-3:p:4:97 Thread-0:p:1:89 Thread-1:p:2:92 Thread-2:p:3:98 Thread-3:p:4:98 Thread-0:p:1:90 Thread-1:p:2:93 Thread-2:p:3:99 Thread-3:p:4:99 Thread-0:p:1:91 Thread-1:p:2:94 Thread-2:p:3:½º·¹µåÁ¾·á Thread-3:p:4:½º·¹µåÁ¾·á Thread-0:p:1:92 Thread-1:p:2:95 Thread-0:p:1:93 Thread-1:p:2:96 Thread-0:p:1:94 Thread-1:p:2:97 Thread-0:p:1:95 Thread-1:p:2:98 Thread-0:p:1:96 Thread-1:p:2:99 Thread-0:p:1:97 Thread-1:p:2:½º·¹µåÁ¾·á Thread-0:p:1:98 Thread-0:p:1:99 Thread-0:p:1:½º·¹µåÁ¾·á |
À§ÀÇ ¿¹Á¦¿¡¼ ¿ì¼±±ÇÀº ´ÙÀ½°ú °°Àº °á°ú¸¦ ³ªÅ¸³»°í ÀÕ½À´Ï´Ù.
n System.out.println("Thread.MAX_PRIORITY:"+Thread.MAX_PRIORITY);
n Thread.MAX_PRIORITY:10
n System.out.println("Thread.MIN_PRIORITY:"+Thread.MIN_PRIORITY);
n Thread.MIN_PRIORITY:1
n System.out.println("Thread.NORM_PRIORITY:"+Thread.NORM_PRIORITY);
n Thread.NORM_PRIORITY:5
Áï, WINNT2000ȯ°æ¿¡¼ ¿ì¼±±ÇÀº 1´Ü°èºÎÅÍ 10´Ü°è±îÁö »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç NORM_PRIORITY´Â 5¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×¸®°í À§¿¡¼ ¿ì¼±±ÇÀ» °¢ÀÚ ´Ù¸£°Ô ÁÖ±â À§Çؼ ´ÙÀ½°ú °°Àº Äڵ带 »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
n for(int i=Thread.MIN_PRIORITY; i<Thread.MAX_PRIORITY+1; i++){
n SoloThread s = new SoloThread(100);
n s.setPriority(i);
n s.start();
n }
´Ü¼øÈ÷ MIN_PRIORITY¿Í MAX_PRIORITY±îÁö ¸ðµç ¿ì¼±±ÇÀ» ÀüºÎ »ç¿ëÇØ¼ ½º·¹µå¸¦ »ý¼ºÇϰí ÀÖ½À´Ï´Ù. °á°ú´Â MAX_PRIORITY¸¦ °¡Áø Thread-9¹øÀÌ Á¦ÀÏ ¸ÕÀú ÀÛ¾÷À» ³¡³»°í Thread-0¹øÀÌ ¸¶Áö¸·¿¡ ÀÛ¾÷À» ³¡³»´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÛ¾÷ÀÌ ´Ü¼øÇϱ⠶§¹®¿¡ sleep()¸Þ¼µå¿¡¼ sleepÇÏ´Â ½Ã°£À» 1¹Ð¸®¼¼ÄÁµå·Î ¹Ù²Ù¾î »ç¿ëÇß½À´Ï´Ù.
ÀÌ·Î½á ¿©·¯ºÐÀº ½º·¹µåÀÇ ¿ì¼±±ÇÀ» º¯°æÇÏ´Â ¹æ¹ý¿¡ ´ëÇÏ¿© ¾Ë¾Æ º¸¾Ò½À´Ï´Ù. º°·Î ¾î·ÆÁö´Â ¾Ê½À´Ï´Ù. ´ÙÀ½À¸·Î ¸ÖƼ½º·¹µå°¡ ÇϳªÀÇ ÀÚ·á¿¡ Á¢±Ù ÇßÀ» ¶§ÀÇ ¹®Á¦Á¡À» ÇØ°áÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |