JavaTM 2 Platform
Standard Ed. 5.0

java.lang.management
ÀÎÅÍÆäÀ̽º ThreadMXBean


public interface ThreadMXBean

Java °¡»ó ¸Ó½ÅÀÇ thread ½Ã½ºÅÛÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.

Java °¡»ó ¸Ó½ÅÀº ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö Ŭ·¡½ºÀÇ ´ÜÀÏ ÀνºÅϽº¸¦ °¡Áý´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ°í ÀÖ´Â ÀνºÅϽº´Â ManagementFactory.getThreadMXBean() ¸Þ¼­µå¸¦ È£ÃâÇØ ÃëµæÇÒ ¼ö ÀÖ´Ù, ȤÀº platform MBeanServer ¸Þ¼­µå·ÎºÎÅÍ ÃëµæÇÒ ¼ö ÀÖ´Â MXBean ÀÔ´Ï´Ù.

MBeanServer ³»¿¡¼­ thread ½Ã½ºÅÛÀÇ MXBean¸¦ ÀÏÀÇ¿¡ ½Äº°Çϱâ À§ÇÑ ObjectName´Â ÀÌÇÏ´ë·ÎÀÔ´Ï´Ù.

java.lang:type=Threading

thread ID

thread ID´Â threadÀÇ Thread.getId() ¸Þ¼­µåÀÇ È£Ãâ¿¡ ÀÇÇØ ¸®ÅÏµÈ Á¤ÀÇ long ÇüÀÇ °ªÀÔ´Ï´Ù. thread ID´Â ÀÏÀÇÀ̸ç, ±× ¼ö¸íÀ» ÅëÇؼ­ º¯°æµÉ °ÍÀº ¾ø½À´Ï´Ù. thread°¡ Á¾·áÇϸé, thread ID´Â ÀçÀÌ¿ë °¡´ÉÇÕ´Ï´Ù.

ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ÀϺÎÀÇ ¸Þ¼­µå´Â ÀÔ·Â ÆĶó¹ÌÅͷμ­ thread ID ¶Ç´Â thread ID ¹è¿­À» ÃëµæÇØ thread¸¶´ÙÀÇ Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù.

thread CPU ½Ã°£

Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼­´Â ÀÓÀÇÀÇ thread³ª thread ÀÌ¿Ü¿¡ ºÙ¾î, ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ÀÇ ÃøÁ¤À» Áö¿ø ÇÒ ¼ö ÀÖ½À´Ï´Ù.

isThreadCpuTimeSupported() ¸Þ¼­µå¸¦ »ç¿ëÇØ, Java °¡»ó ¸Ó½ÅÀÌ ÀÓÀÇÀÇ thread¿¡ ´ëÇØ CPU ½Ã°£ÀÇ ÃøÁ¤À» Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, isCurrentThreadCpuTimeSupported() ¸Þ¼­µå¸¦ »ç¿ëÇØ, Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ÀÇ ÃøÁ¤À» Áö¿ø ÇÏ°í ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÓÀÇÀÇ threadÀÇ CPU ½Ã°£ÀÇ ÃøÁ¤À» Áö¿ø ÇÏ°í ÀÖ´Â Java °¡»ó ¸Ó½ÅÀÇ ±¸ÇöÀº ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ÀÇ ÃøÁ¤µµ Áö¿ø ÇÏ°í ÀÖ½À´Ï´Ù.

ÀÌ ÀÎÅÍÆäÀ̽º·Î Á¦°øµÈ CPU ½Ã°£Àº ³ª³ëÃÊ´ÜÀ§ÀÇ Á¤¹Ðµµ¸¦ Á¦°øÇÕ´Ï´Ù¸¸, ¹Ýµå½Ã ³ª³ëÃÊÀÇ Á¤È®µµ°¡ ¾Æ´Õ´Ï´Ù.

Java °¡»ó ¸Ó½Å¿¡¼­´Â µðÆúÆ®·Î CPU ½Ã°£ÀÇ ÃøÁ¤À» ¹«È¿·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. isThreadCpuTimeEnabled() ¸Þ¼­µå¿Í setThreadCpuTimeEnabled(boolean) ¸Þ¼­µå¸¦ »ç¿ëÇØ, CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´Â °ÍÀ» Å×½ºÆ®Çϰųª ÃøÁ¤ÀÇ Áö¿ø¸¦ À¯È¿ ¶Ç´Â ¹«È¿·Î Çϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù . thread CPU ÃøÁ¤À» À¯È¿ÇÏ°Ô Çϸé, ÀϺÎÀÇ Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼­´Â ºÎÇÏ°¡ Ä¿Áú °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

thread ÄÁÅÙ¼Ç °¨½Ã

ÀϺÎÀÇ Java °¡»ó ¸Ó½ÅÀº thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø ÇÕ´Ï´Ù. isThreadContentionMonitoringSupported() ¸Þ¼­µå¸¦ »ç¿ëÇØ, Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø ÇÏ°í ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. thread ÄÁÅÙ¼Ç °¨½Ã´Â µðÆúÆ®·Î ¹«È¿ÀÔ´Ï´Ù. setThreadContentionMonitoringEnabled(boolean) ¸Þ¼­µå¸¦ »ç¿ëÇØ, thread ÄÁÅÙ¼Ç °¨½Ã¸¦ À¯È¿ÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù .

µµÀÔµÈ ¹öÀü :
1.5
°ü·Ã Ç׸ñ:
JMX Specification, Ways to Access MXBeans

¸Þ¼­µå °³¿ä
 long[] findMonitorDeadlockedThreads ()
          °´Ã¼ ¸ð´ÏÅÍÀÇ ÃëµæÀ» ´ë±âÇÏ°í ÀÖ¾î µ¥µå ·Ï »óÅ¿¡ ÀÖ´Â threadÀÇ »çÀÌŬÀ» °Ë»öÇÕ´Ï´Ù.
 long[] getAllThreadIds ()
          ¸ðµç ¶óÀ̺ê threadÀÇ ID¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 long getCurrentThreadCpuTime ()
          ÇöÀçÀÇ threadÀÇ ÇÕ°è CPU ½Ã°£À» ³ª³ëÃÊ´ÜÀ§·Î ¸®ÅÏÇÕ´Ï´Ù.
 long getCurrentThreadUserTime ()
          ÇöÀçÀÇ thread°¡ »ç¿ëÀÚ ¸ðµå·Î ½ÇÇàÇÑ CPU ½Ã°£ (³ª³ëÃÊ´ÜÀ§)À» ¸®ÅÏÇÕ´Ï´Ù.
 int getDaemonThreadCount ()
          ¶óÀ̺ê demon threadÀÇ ÇöÀçÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 int getPeakThreadCount ()
          Java °¡»ó ¸Ó½ÅÀÌ ½ÃÀÛµÈ ÀÌÈÄÀÇ, ¶Ç´Â ÇÇÅ©°¡ ¸®¼Â µÈ ÀÌÈÄÀÇ, ÇÇÅ© ¶óÀ̺ê thread Ä«¿îÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 int getThreadCount ()
          demon thread¿Í demon ÀÌ¿ÜÀÇ thread¸¦ Æ÷ÇÔÇÑ ¶óÀ̺ê threadÀÇ ÇöÀçÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 long getThreadCpuTime (long id)
          ÁöÁ¤µÈ ID threadÀÇ ÇÕ°è CPU ½Ã°£ (³ª³ëÃÊ´ÜÀ§)À» ¸®ÅÏÇÕ´Ï´Ù.
 ThreadInfo getThreadInfo (long id)
          ½ºÅà Ʈ·¹À̽º¸¦ °¡ÁöÁö ¾Ê´Â ÁöÁ¤µÈ id threadÀÇ thread Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 ThreadInfo [] getThreadInfo (long[] ids)
          ½ºÅà Ʈ·¹À̽º¸¦ °¡ÁöÁö ¾Ê´Â ÀÔ·Â ¹è¿­ ids¿¡ ÀÖ´Â ID¸¦ °¡Áö´Â thread¸¶´ÙÀÇ thread Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 ThreadInfo [] getThreadInfo (long[] ids, int maxDepth)
          ÀÔ·Â ¹è¿­ ids¿¡ ID¸¦ °¡Áö´Â °¢ threadÀÇ thread Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 ThreadInfo getThreadInfo (long id, int maxDepth)
          ÁöÁ¤µÈ id threadÀÇ thread Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 long getThreadUserTime (long id)
          ÁöÁ¤µÈ ID thread°¡ »ç¿ëÀÚ ¸ðµå·Î ½ÇÇàÇÑ CPU ½Ã°£ (³ª³ëÃÊ´ÜÀ§)À» ¸®ÅÏÇÕ´Ï´Ù.
 long getTotalStartedThreadCount ()
          Java °¡»ó ¸Ó½ÅÀÌ ½ÃÀÛÇÏ°í ³ª¼­ ÀÛ¼º ¹× ½ÃÀÛµÈ threadÀÇ ÇÕ°è¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean isCurrentThreadCpuTimeSupported ()
          Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.
 boolean isThreadContentionMonitoringEnabled ()
          thread ÄÁÅÙ¼Ç °¨½Ã°¡ À¯È¿ÇÑ°¡ ¾î¶²°¡¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.
 boolean isThreadContentionMonitoringSupported ()
          Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.
 boolean isThreadCpuTimeEnabled ()
          threadÀÇ CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÑ°¡ ¾î¶²°¡¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.
 boolean isThreadCpuTimeSupported ()
          Java °¡»ó ¸Ó½ÅÀÇ ±¸ÇöÀÌ ÀÓÀÇÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.
 void resetPeakThreadCount ()
          ÇÇÅ© thread Ä«¿îÆ®¸¦ ¶óÀ̺ê threadÀÇ ÇöÀçÀÇ ¼ö¿¡ ¸®¼Â ÇÕ´Ï´Ù.
 void setThreadContentionMonitoringEnabled (boolean enable)
          thread ÄÁÅÙ¼Ç °¨½Ã¸¦ À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù.
 void setThreadCpuTimeEnabled (boolean enable)
          threadÀÇ CPU ½Ã°£ ÃøÁ¤À» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù.
 

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

getThreadCount

int getThreadCount()
demon thread¿Í demon ÀÌ¿ÜÀÇ thread¸¦ Æ÷ÇÔÇÑ ¶óÀ̺ê threadÀÇ ÇöÀçÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
¶óÀ̺ê threadÀÇ ÇöÀçÀÇ ¼ö

getPeakThreadCount

int getPeakThreadCount()
Java °¡»ó ¸Ó½ÅÀÌ ½ÃÀÛµÈ ÀÌÈÄÀÇ, ¶Ç´Â ÇÇÅ©°¡ ¸®¼Â µÈ ÀÌÈÄÀÇ, ÇÇÅ© ¶óÀ̺ê thread Ä«¿îÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÇÇÅ© ¶óÀ̺ê thread Ä«¿îÆ®

getTotalStartedThreadCount

long getTotalStartedThreadCount()
Java °¡»ó ¸Ó½ÅÀÌ ½ÃÀÛÇÏ°í ³ª¼­ ÀÛ¼º ¹× ½ÃÀÛµÈ threadÀÇ ÇÕ°è¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
½ÃÀÛµÈ threadÀÇ ÇÕ°è¼ö

getDaemonThreadCount

int getDaemonThreadCount()
¶óÀ̺ê demon threadÀÇ ÇöÀçÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
¶óÀ̺ê demon threadÀÇ ÇöÀçÀÇ ¼ö

getAllThreadIds

long[] getAllThreadIds()
¸ðµç ¶óÀ̺ê threadÀÇ ID¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ ¹è¿­¿¡ Æ÷ÇԵǴ ÀϺÎÀÇ thread´Â ÀÌ ¸Þ¼­µå°¡ °ªÀ» µ¹·ÁÁÖ¾úÀ» ¶§¿¡ Á¾·áÇÏ°í ÀÖ´ø °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
thread ID¸¦ Æ÷ÇÔÇÑ long ÇüÀÇ ¹è¿­
¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì

getThreadInfo

ThreadInfo  getThreadInfo(long id)
½ºÅà Ʈ·¹À̽º¸¦ °¡ÁöÁö ¾Ê´Â ÁöÁ¤µÈ id threadÀÇ thread Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÌÇϸ¦ È£ÃâÇÏ´Â °Í°ú µ¿µîÇÕ´Ï´Ù.
getThreadInfo(id, 0);

ÀÌ ¸Þ¼­µå´Â ÁöÁ¤µÈ ID thread¿¡ °üÇÑ thread Á¤º¸¸¦ ³ªÅ¸³»´Â ThreadInfo °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ ThreadInfo °´Ã¼ÀÇ ½ºÅà Ʈ·¹À̽º´Â StackTraceElement ºñ¾îÀÖ´Â ¹è¿­ÀÌ µË´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ »ýÁ¸ÇÏ°í ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÈ ID°¡ ½ÃÀÛµÇ¾î »ýÁ¸ÇÏ°í ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸ÇÏ°í ÀÖ½À´Ï´Ù.

MBeanServer ¾×¼¼½º:
ThreadInfo ¸ÊÇüÀº, ThreadInfo ·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
id - threadÀÇ thread ID. Á¤ÀÇ °ªÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù
¹Ýȯ°ª:
½ºÅà Ʈ·¹À̽º¸¦ °¡ÁöÁö ¾Ê´Â ÁöÁ¤µÈ ID thread¿¡ °üÇÑ ThreadInfo °´Ã¼. ÁöÁ¤µÈ ID thread°¡ »ýÁ¸ ¶Ç´Â Á¸ÀçÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
IllegalArgumentException - id <= 0ÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì

getThreadInfo

ThreadInfo [] getThreadInfo(long[] ids)
½ºÅà Ʈ·¹À̽º¸¦ °¡ÁöÁö ¾Ê´Â ÀÔ·Â ¹è¿­ ids¿¡ ÀÖ´Â ID¸¦ °¡Áö´Â thread¸¶´ÙÀÇ thread Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÀÌÇϸ¦ È£ÃâÇÏ´Â °Í°ú µ¿µîÇÕ´Ï´Ù.
 getThreadInfo (ids, 0);
 

ÀÌ ¸Þ¼­µå´Â ThreadInfo °´Ã¼ÀÇ ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù. °¢ ThreadInfo °´Ã¼ÀÇ ½ºÅà Ʈ·¹À̽º´Â StackTraceElement ºñ¾îÀÖ´Â ¹è¿­ÀÌ µË´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ »ýÁ¸ÇÏ°í ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì, ¸®ÅÏµÈ ¹è¿­ÀÇ ´ëÀÀÇÏ´Â ¿ä¼Ò´Â nullÀ» Æ÷ÇÔÇÕ´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ ½ÃÀÛµÇ¾î »ýÁ¸ÇÏ°í ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸ÇÏ°í ÀÖ½À´Ï´Ù.

MBeanServer ¾×¼¼½º:
ThreadInfo ¸ÊÇüÀº, ThreadInfo ·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
ids - thread ID ¹è¿­
¹Ýȯ°ª:
ID ÀÔ·Â ¹è¿­ÀÇ ´ëÀÀÇÏ´Â ¿ä¼Ò¿¡ ID°¡ ÀÖ´Â threadÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ ThreadInfo °´Ã¼ÀÇ ¹è¿­
¿¹¿Ü:
IllegalArgumentException - ÀÔ·Â ¹è¿­ ids ¿ä¼Ò°¡ <= 0 ÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì

getThreadInfo

ThreadInfo  getThreadInfo(long id,
                         int maxDepth)
ÁöÁ¤µÈ id threadÀÇ thread Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. maxDepth ÆĶó¹ÌÅÍ´Â ½ºÅà Ʈ·¹À̽º·ÎºÎÅÍ ÃëµæµÇ´Â StackTraceElement ÃÖ´ë¼ö¸¦ ³ªÅ¸³À´Ï´Ù. maxDepth == Integer.MAX_VALUEÀÎ °æ¿ì, threadÀÇ ½ºÅà Ʈ·¹À̽º Àüü°¡ ´ýÇÁ µË´Ï´Ù. maxDepth == 0ÀÎ °æ¿ì, threadÀÇ ½ºÅà Ʈ·¹À̽º´Â ´ýÇÁ µÇÁö ¾Ê½À´Ï´Ù.

Java °¡»ó ¸Ó½ÅÀÌ threadÀÇ ½ºÅà Ʈ·¹À̽º Á¤º¸¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì, ¶Ç´Â maxDepth == 0ÀÎ °æ¿ì, ThreadInfo °´Ã¼ÀÇ ½ºÅà Ʈ·¹À̽º´Â StackTraceElement ºñ¾îÀÖ´Â ¹è¿­ÀÌ µË´Ï´Ù.

ÁöÁ¤µÈ ID thread°¡ »ýÁ¸ÇÏ°í ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÈ ID°¡ ½ÃÀÛµÇ¾î »ýÁ¸ÇÏ°í ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸ÇÏ°í ÀÖ½À´Ï´Ù.

MBeanServer ¾×¼¼½º:
ThreadInfo ¸ÊÇüÀº, ThreadInfo ·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
id - threadÀÇ thread ID. Á¤ÀÇ °ªÀÌ ¾Æ´Ï¸é ¾ÈµÇ´Â
maxDepth - ´ýÇÁ µÇ´Â ½ºÅà Ʈ·¹À̽ºÀÇ ¿£Æ®¸®ÀÇ ÃÖ´ë¼ö. Integer.MAX_VALUE¸¦ »ç¿ëÇØ, ½ºÅà Àüü¸¦ ´ýÇÁ Çϵµ·Ï ¿ä±¸ÇÒ ¼ö ÀÖ´Ù
¹Ýȯ°ª:
ÁöÁ¤µÈ ID thread ThreadInfo . ÁöÁ¤µÈ ID thread°¡ »ýÁ¸ ¶Ç´Â Á¸ÀçÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
IllegalArgumentException - id <= 0ÀÎ °æ¿ì
IllegalArgumentException - maxDepth is negativeÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì

getThreadInfo

ThreadInfo [] getThreadInfo(long[] ids,
                           int maxDepth)
ÀÔ·Â ¹è¿­ ids¿¡ ID¸¦ °¡Áö´Â °¢ threadÀÇ thread Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. maxDepth ÆĶó¹ÌÅÍ´Â ½ºÅà Ʈ·¹À̽º·ÎºÎÅÍ ÃëµæµÇ´Â StackTraceElement ÃÖ´ë¼ö¸¦ ³ªÅ¸³À´Ï´Ù. maxDepth == Integer.MAX_VALUEÀÎ °æ¿ì, threadÀÇ ½ºÅà Ʈ·¹À̽º Àüü°¡ ´ýÇÁ µË´Ï´Ù. maxDepth == 0ÀÎ °æ¿ì, threadÀÇ ½ºÅà Ʈ·¹À̽º´Â ´ýÇÁ µÇÁö ¾Ê½À´Ï´Ù.

Java °¡»ó ¸Ó½ÅÀÌ threadÀÇ ½ºÅà Ʈ·¹À̽º Á¤º¸¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì, ¶Ç´Â maxDepth == 0ÀÎ °æ¿ì, ThreadInfo °´Ã¼ÀÇ ½ºÅà Ʈ·¹À̽º´Â StackTraceElement ºñ¾îÀÖ´Â ¹è¿­ÀÌ µË´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ThreadInfo °´Ã¼ÀÇ ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù. ¹è¿­ÀÇ °¢ ¿ä¼Ò´Â ids ¹è¿­°ú °°Àº À妽º¸¦ °¡Áö´Â thread¿¡ °üÇÑ thread Á¤º¸ÀÔ´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ »ýÁ¸ÇÏ°í ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ¸®ÅÏµÈ ¹è¿­ÀÇ ´ëÀÀÇÏ´Â ¿ä¼Ò¿¡ null°¡ ¼³Á¤µË´Ï´Ù. ÁöÁ¤µÈ thread ID°¡ ½ÃÀ۵Ǿú´ÂÁö »ýÁ¸ÇÏ°í ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸ÇÏ°í ÀÖ½À´Ï´Ù.

MBeanServer ¾×¼¼½º:
ThreadInfo ¸ÊÇüÀº, ThreadInfo ·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
ids - thread ID ¹è¿­
maxDepth - ´ýÇÁ µÇ´Â ½ºÅà Ʈ·¹À̽ºÀÇ ¿£Æ®¸®ÀÇ ÃÖ´ë¼ö. Integer.MAX_VALUE¸¦ »ç¿ëÇØ, ½ºÅà Àüü¸¦ ´ýÇÁ Çϵµ·Ï ¿ä±¸ÇÒ ¼ö ÀÖ´Ù
¹Ýȯ°ª:
ID ÀÔ·Â ¹è¿­ÀÇ ´ëÀÀÇÏ´Â ¿ä¼Ò¿¡ ID°¡ ÀÖ´Â threadÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ ThreadInfo °´Ã¼ÀÇ ¹è¿­
¿¹¿Ü:
IllegalArgumentException - maxDepth is negativeÀÎ °æ¿ì
IllegalArgumentException - ÀÔ·Â ¹è¿­ ids ¿ä¼Ò°¡ <= 0 ÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì

isThreadContentionMonitoringSupported

boolean isThreadContentionMonitoringSupported()
Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.

¹Ýȯ°ª:
Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿øÇÏ´ÂÀÎ °æ¿ì´Â true. ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

isThreadContentionMonitoringEnabled

boolean isThreadContentionMonitoringEnabled()
thread ÄÁÅÙ¼Ç °¨½Ã°¡ À¯È¿ÇÑ°¡ ¾î¶²°¡¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.

¹Ýȯ°ª:
thread ÄÁÅÙ¼Ç °¨½Ã°¡ À¯È¿ÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
isThreadContentionMonitoringSupported()

setThreadContentionMonitoringEnabled

void setThreadContentionMonitoringEnabled(boolean enable)
thread ÄÁÅÙ¼Ç °¨½Ã¸¦ À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. thread ÄÁÅÙ¼Ç °¨½Ã´Â µðÆúÆ®·Î ¹«È¿·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
enable - À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ì´Â true, ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
¿¹¿Ü:
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("control")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
isThreadContentionMonitoringSupported()

getCurrentThreadCpuTime

long getCurrentThreadCpuTime()
ÇöÀçÀÇ threadÀÇ ÇÕ°è CPU ½Ã°£À» ³ª³ëÃÊ´ÜÀ§·Î ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ °ªÀº ³ª³ëÃÊ´ÜÀ§ÀÇ Á¤¹ÐµµÀÔ´Ï´Ù¸¸, ¹Ýµå½Ã ³ª³ëÃÊÀÇ Á¤È®µµ°¡ ¾Æ´Õ´Ï´Ù. ±¸ÇöÀÌ »ç¿ëÀÚ ¸ðµå½Ã¿Í ½Ã½ºÅÛ ¸ðµå½Ã¸¦ ±¸º°ÇÏ´Â °æ¿ì, ¸®ÅÏµÈ CPU ½Ã°£Àº »ç¿ëÀÚ ¸ðµå ¶Ç´Â ½Ã½ºÅÛ ¸ðµå·Î ÇöÀçÀÇ thread°¡ ½ÇÇàÇÑ ½Ã°£ÀÇ ÇÕ°èÀÔ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ·ÎÄà °ü¸®·Î »ç¿ëÇÏ´Â °£ÀÌ ¸Þ¼­µåÀ̸ç, ÀÌÇϸ¦ È£ÃâÇÏ´Â °Í°ú µ¿µîÇÕ´Ï´Ù.

 getThreadCpuTime (Thread.currentThread(). getId());
 

¹Ýȯ°ª:
CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÑ °æ¿ì, ÇöÀçÀÇ threadÀÇ ÇÕ°è CPU ½Ã°£. ±×·¸Áö ¾ÊÀº °æ¿ì´Â -1
¿¹¿Ü:
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
getCurrentThreadUserTime(), isCurrentThreadCpuTimeSupported(), isThreadCpuTimeEnabled(), setThreadCpuTimeEnabled(boolean)

getCurrentThreadUserTime

long getCurrentThreadUserTime()
ÇöÀçÀÇ thread°¡ »ç¿ëÀÚ ¸ðµå·Î ½ÇÇàÇÑ CPU ½Ã°£ (³ª³ëÃÊ´ÜÀ§)À» ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ °ªÀº ³ª³ëÃÊ´ÜÀ§ÀÇ Á¤¹ÐµµÀÔ´Ï´Ù¸¸, ¹Ýµå½Ã ³ª³ëÃÊÀÇ Á¤È®µµ°¡ ¾Æ´Õ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ·ÎÄà °ü¸®·Î »ç¿ëÇÏ´Â °£ÀÌ ¸Þ¼­µåÀ̸ç, ÀÌÇϸ¦ È£ÃâÇÏ´Â °Í°ú µ¿µîÇÕ´Ï´Ù.

 getThreadUserTime (Thread.currentThread(). getId());
 

¹Ýȯ°ª:
CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÑ °æ¿ì, ÇöÀçÀÇ threadÀÇ »ç¿ëÀÚ ·¹º§ÀÇ CPU ½Ã°£. ±×·¸Áö ¾ÊÀº °æ¿ì´Â -1
¿¹¿Ü:
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
getCurrentThreadCpuTime(), isCurrentThreadCpuTimeSupported(), isThreadCpuTimeEnabled(), setThreadCpuTimeEnabled(boolean)

getThreadCpuTime

long getThreadCpuTime(long id)
ÁöÁ¤µÈ ID threadÀÇ ÇÕ°è CPU ½Ã°£ (³ª³ëÃÊ´ÜÀ§)À» ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ °ªÀº ³ª³ëÃÊ´ÜÀ§ÀÇ Á¤¹ÐµµÀÔ´Ï´Ù¸¸, ¹Ýµå½Ã ³ª³ëÃÊÀÇ Á¤È®µµ°¡ ¾Æ´Õ´Ï´Ù. ±¸ÇöÀÌ »ç¿ëÀÚ ¸ðµå½Ã¿Í ½Ã½ºÅÛ ¸ðµå½Ã¸¦ ±¸º°ÇÏ´Â °æ¿ì, ¸®ÅÏµÈ CPU ½Ã°£Àº »ç¿ëÀÚ ¸ðµå ¶Ç´Â ½Ã½ºÅÛ ¸ðµå·Î ±× thread°¡ ½ÇÇàÇÑ ½Ã°£ÀÇ ÇÕ°èÀÔ´Ï´Ù.

ÁöÁ¤µÈ ID thread°¡ »ýÁ¸ÇÏ°í ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â -1À» ¸®ÅÏÇÕ´Ï´Ù. CPU ½Ã°£ ÃøÁ¤ÀÌ ¹«È¿ÀÇ °æ¿ì, ÀÌ ¸Þ¼­µå´Â -1À» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ ½ÃÀÛµÇ¾î »ýÁ¸ÇÏ°í ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸ÇÏ°í ÀÖ½À´Ï´Ù.

thread°¡ ½ÃÀÛµÈ µÚ¿¡ CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÏ°Ô µÇ¾úÀ» °æ¿ì, Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼­´Â CPU ½Ã°£ ÃøÁ¤ÀÌ ½ÃÀÛµÈ Æ÷ÀÎÆ®·Î¼­ CPU ½Ã°£ ÃøÁ¤ ±â´ÉÀÌ À¯È¿ÇÏ°Ô µÈ ½Ã°£ ÀÌÀüÀÇ ÀÓÀÇÀÇ ½Ã°£À» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
id - threadÀÇ thread ID
¹Ýȯ°ª:
ÁöÁ¤µÈ ID thread°¡ Á¸ÀçÇØ, »ýÁ¸ÇÏ°í ÀÖ¾î, CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÑ °æ¿ì´Â ÁöÁ¤µÈ ID threadÀÇ ÇÕ°è CPU ½Ã°£. ±×·¸Áö ¾ÊÀº °æ¿ì´Â -1
¿¹¿Ü:
IllegalArgumentException - id <= 0ÀÎ °æ¿ì
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ´Ù¸¥ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
getThreadUserTime(long), isThreadCpuTimeSupported(), isThreadCpuTimeEnabled(), setThreadCpuTimeEnabled(boolean)

getThreadUserTime

long getThreadUserTime(long id)
ÁöÁ¤µÈ ID thread°¡ »ç¿ëÀÚ ¸ðµå·Î ½ÇÇàÇÑ CPU ½Ã°£ (³ª³ëÃÊ´ÜÀ§)À» ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ °ªÀº ³ª³ëÃÊ´ÜÀ§ÀÇ Á¤¹ÐµµÀÔ´Ï´Ù¸¸, ¹Ýµå½Ã ³ª³ëÃÊÀÇ Á¤È®µµ°¡ ¾Æ´Õ´Ï´Ù.

ÁöÁ¤µÈ ID thread°¡ »ýÁ¸ÇÏ°í ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â -1À» ¸®ÅÏÇÕ´Ï´Ù. CPU ½Ã°£ ÃøÁ¤ÀÌ ¹«È¿ÀÇ °æ¿ì, ÀÌ ¸Þ¼­µå´Â -1À» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ ½ÃÀÛµÇ¾î »ýÁ¸ÇÏ°í ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸ÇÏ°í ÀÖ½À´Ï´Ù.

thread°¡ ½ÃÀÛµÈ µÚ¿¡ CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÏ°Ô µÇ¾úÀ» °æ¿ì, Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼­´Â CPU ½Ã°£ ÃøÁ¤ÀÌ ½ÃÀÛµÈ Æ÷ÀÎÆ®·Î¼­ CPU ½Ã°£ ÃøÁ¤ ±â´ÉÀÌ À¯È¿ÇÏ°Ô µÈ ½Ã°£ ÀÌÀüÀÇ ÀÓÀÇÀÇ ½Ã°£À» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
id - threadÀÇ thread ID
¹Ýȯ°ª:
ÁöÁ¤µÈ ID thread°¡ Á¸ÀçÇØ, »ýÁ¸ÇÏ°í ÀÖ¾î, CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÑ °æ¿ì´Â ÁöÁ¤µÈ ID threadÀÇ »ç¿ëÀÚ ·¹º§ÀÇ CPU ½Ã°£. ±×·¸Áö ¾ÊÀº °æ¿ì´Â -1
¿¹¿Ü:
IllegalArgumentException - id <= 0ÀÎ °æ¿ì
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ´Ù¸¥ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
getThreadCpuTime(long), isThreadCpuTimeSupported(), isThreadCpuTimeEnabled(), setThreadCpuTimeEnabled(boolean)

isThreadCpuTimeSupported

boolean isThreadCpuTimeSupported()
Java °¡»ó ¸Ó½ÅÀÇ ±¸ÇöÀÌ ÀÓÀÇÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù. ÀÓÀÇÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿øÇÏ´Â Java °¡»ó ¸Ó½ÅÀÇ ±¸ÇöÀº ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤µµ Áö¿ø ÇÕ´Ï´Ù.

¹Ýȯ°ª:
Java °¡»ó ¸Ó½ÅÀÌ ÀÓÀÇÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿øÇÏ´ÂÀÎ °æ¿ì´Â true. ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

isCurrentThreadCpuTimeSupported

boolean isCurrentThreadCpuTimeSupported()
Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø ÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù. isThreadCpuTimeSupported() °¡ true¸¦ µ¹·ÁÁÖ´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿øÇÏ´ÂÀÎ °æ¿ì´Â true. ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

isThreadCpuTimeEnabled

boolean isThreadCpuTimeEnabled()
threadÀÇ CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÑ°¡ ¾î¶²°¡¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.

¹Ýȯ°ª:
threadÀÇ CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ´Ù¸¥ thread »Ó¸¸ÀÌ ¾Æ´Ï¶ó ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤µµ Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
isThreadCpuTimeSupported(), isCurrentThreadCpuTimeSupported()

setThreadCpuTimeEnabled

void setThreadCpuTimeEnabled(boolean enable)
threadÀÇ CPU ½Ã°£ ÃøÁ¤À» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. µðÆúÆ®ÀÇ ¼³Á¤Àº Ç÷§Æû¿¡ ÀÀÇØ ´Ù¸¨´Ï´Ù.

ÆĶó¹ÌÅÍ:
enable - À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ì´Â true, ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
¿¹¿Ü:
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ÀÓÀÇÀÇ thread »Ó¸¸ÀÌ ¾Æ´Ï¶ó ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤µµ Áö¿ø ÇÏÁö ¾Ê´Â °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("control")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
isThreadCpuTimeSupported(), isCurrentThreadCpuTimeSupported()

findMonitorDeadlockedThreads

long[] findMonitorDeadlockedThreads()
°´Ã¼ ¸ð´ÏÅÍÀÇ ÃëµæÀ» ´ë±âÇÏ°í ÀÖ¾î µ¥µå ·Ï »óÅ¿¡ ÀÖ´Â threadÀÇ »çÀÌŬÀ» °Ë»öÇÕ´Ï´Ù. Áï, thread´Â ºí·Ï µÇ¾î µ¿±â ºí·Ï¿¡ µé¾î°¡´Â °ÍÀ» ´ë±âÇÏ°í ÀÖ´ÂÁö, Object.wait È£ÃâµÚ, µ¿±â ºí·Ï¿¡ ÀçÀÔ ÇÏ´Â °ÍÀ» ´ë±âÇÏ°í ÀÖ½À´Ï´Ù. ¿©±â¿¡¼­´Â »çÀÌŬÁßÀÇ ´Ù¸¥ thread¿¡ ÀÇÇØ º¸°ü À¯ÁöµÇ°í ÀÖ´Â ´Ù¸¥ ¸ð´ÏÅÍÀÇ ÃëµæÀ» ½ÃÇàÇÏ°í ÀÖ´Â µ¿¾È, °¢ thread´Â 1°³ÀÇ ¸ð´ÏÅ͸¦ º¸À¯ÇÏ°í ÀÖ½À´Ï´Ù.

°ø½ÄÀ¸·Î´Â thread°¡ ¡¸´Ù¸¥ thread¿¡ ÀÇÇØ º¸À¯µÇ´Â °´Ã¼ ¸ð´ÏÅ͸¦ ´ë±âÇÏ°í ÀÖ´Ù¡¹°ü°è¿¡ ÀÖ´Â »çÀÌŬÀÇ ÀϺÎÀÎ °æ¿ì, thread´Â ¡¸¸ð´ÏÅÍ µ¥µå ·Ï¡¹µË´Ï´Ù. ¹«¾ùº¸´Ù °£´ÜÇÑ ÄÉÀ̽º¿¡ ´ëÇØ ¼³¸íÇϸé, thread A´Â thread B°¡ ¼ÒÀ¯ÇÏ´Â ¸ð´ÏÅ͸¦ ´ë±âÇÏ´Â °ÍÀ» ºí·Ï µÇ¾î thread B´Â thread A°¡ ¼ÒÀ¯ÇÏ´Â ¸ð´ÏÅ͸¦ ´ë±âÇÏ´Â °ÍÀ» ºí·Ï µË´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â Æ®·¯ºí ½´ÆÃÀ» À§Çؼ­ ¼³°èµÇ°í ÀÖ½À´Ï´Ù¸¸, µ¿±â Á¦¾î¸¦ À§ÇÑ °ÍÀÌ ¾Æ´Õ´Ï´Ù. ÀÌ ¸Þ¼­µåÀÇ Á¶ÀÛÀº ºÎÇÏ°¡ Ä¿Áú °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
¸ð´ÏÅÍ µ¥µå ·Ï µÇ°í ÀÖ´Â threadÀÇ ID ¹è¿­. ±×·¸Áö ¾ÊÀº °æ¿ì´Â null
¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì

resetPeakThreadCount

void resetPeakThreadCount()
ÇÇÅ© thread Ä«¿îÆ®¸¦ ¶óÀ̺ê threadÀÇ ÇöÀçÀÇ ¼ö¿¡ ¸®¼Â ÇÕ´Ï´Ù.

¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("control")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
getPeakThreadCount(), getThreadCount()

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.