|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
public interface ThreadMXBean
Java °¡»ó ¸Ó½ÅÀÇ thread ½Ã½ºÅÛÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
Java °¡»ó ¸Ó½ÅÀº ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö Ŭ·¡½ºÀÇ ´ÜÀÏ ÀνºÅϽº¸¦ °¡Áý´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖ´Â ÀνºÅϽº´Â ManagementFactory.getThreadMXBean() ¸Þ¼µå¸¦ È£ÃâÇØ ÃëµæÇÒ ¼ö ÀÖ´Ù, ȤÀº platform MBeanServer ¸Þ¼µå·ÎºÎÅÍ ÃëµæÇÒ ¼ö ÀÖ´Â MXBean ÀÔ´Ï´Ù.
MBeanServer ³»¿¡¼ thread ½Ã½ºÅÛÀÇ MXBean¸¦ ÀÏÀÇ¿¡ ½Äº°Çϱâ À§ÇÑ ObjectName´Â ÀÌÇÏ´ë·ÎÀÔ´Ï´Ù.
java.lang:type=Threading
Thread.getId() ¸Þ¼µåÀÇ È£Ãâ¿¡ ÀÇÇØ ¸®ÅÏµÈ Á¤ÀÇ long ÇüÀÇ °ªÀÔ´Ï´Ù. thread ID´Â ÀÏÀÇÀ̸ç, ±× ¼ö¸íÀ» ÅëÇØ¼ º¯°æµÉ °ÍÀº ¾ø½À´Ï´Ù. thread°¡ Á¾·áÇϸé, thread ID´Â ÀçÀÌ¿ë °¡´ÉÇÕ´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ÀϺÎÀÇ ¸Þ¼µå´Â ÀÔ·Â ÆÄ¶ó¹ÌÅͷμ thread ID ¶Ç´Â thread ID ¹è¿À» ÃëµæÇØ thread¸¶´ÙÀÇ Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù.
isThreadCpuTimeSupported() ¸Þ¼µå¸¦ »ç¿ëÇØ, Java °¡»ó ¸Ó½ÅÀÌ ÀÓÀÇÀÇ thread¿¡ ´ëÇØ CPU ½Ã°£ÀÇ ÃøÁ¤À» Áö¿ø
ÇÒÁö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, isCurrentThreadCpuTimeSupported() ¸Þ¼µå¸¦ »ç¿ëÇØ, Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ÀÇ ÃøÁ¤À» Áö¿ø
Çϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÓÀÇÀÇ threadÀÇ CPU ½Ã°£ÀÇ ÃøÁ¤À» Áö¿ø
Çϰí ÀÖ´Â Java °¡»ó ¸Ó½ÅÀÇ ±¸ÇöÀº ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ÀÇ ÃøÁ¤µµ Áö¿ø
Çϰí ÀÖ½À´Ï´Ù.
ÀÌ ÀÎÅÍÆäÀ̽º·Î Á¦°øµÈ CPU ½Ã°£Àº ³ª³ëÃÊ´ÜÀ§ÀÇ Á¤¹Ðµµ¸¦ Á¦°øÇÕ´Ï´Ù¸¸, ¹Ýµå½Ã ³ª³ëÃÊÀÇ Á¤È®µµ°¡ ¾Æ´Õ´Ï´Ù.
Java °¡»ó ¸Ó½Å¿¡¼´Â µðÆúÆ®·Î CPU ½Ã°£ÀÇ ÃøÁ¤À» ¹«È¿·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. isThreadCpuTimeEnabled() ¸Þ¼µå¿Í setThreadCpuTimeEnabled(boolean) ¸Þ¼µå¸¦ »ç¿ëÇØ, CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´Â °ÍÀ» Å×½ºÆ®Çϰųª ÃøÁ¤ÀÇ Áö¿ø¸¦ À¯È¿ ¶Ç´Â ¹«È¿·Î Çϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù
. thread CPU ÃøÁ¤À» À¯È¿ÇÏ°Ô Çϸé, ÀϺÎÀÇ Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼´Â ºÎÇϰ¡ Ä¿Áú °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
isThreadContentionMonitoringSupported() ¸Þ¼µå¸¦ »ç¿ëÇØ, Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø
Çϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
thread ÄÁÅÙ¼Ç °¨½Ã´Â µðÆúÆ®·Î ¹«È¿ÀÔ´Ï´Ù. setThreadContentionMonitoringEnabled(boolean) ¸Þ¼µå¸¦ »ç¿ëÇØ, thread ÄÁÅÙ¼Ç °¨½Ã¸¦ À¯È¿ÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù
.
| ¸Þ¼µå °³¿ä | |
|---|---|
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 ½Ã°£ ÃøÁ¤À» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. |
| ¸Þ¼µåÀÇ »ó¼¼ |
|---|
int getThreadCount()
int getPeakThreadCount()
long getTotalStartedThreadCount()
int getDaemonThreadCount()
long[] getAllThreadIds()
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ìThreadInfo getThreadInfo(long id)
getThreadInfo(id, 0);
ÀÌ ¸Þ¼µå´Â ÁöÁ¤µÈ ID thread¿¡ °üÇÑ thread Á¤º¸¸¦ ³ªÅ¸³»´Â ThreadInfo °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ ThreadInfo °´Ã¼ÀÇ ½ºÅà Ʈ·¹À̽º´Â StackTraceElement ºñ¾îÀÖ´Â ¹è¿ÀÌ µË´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ »ýÁ¸Çϰí ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÈ ID°¡ ½ÃÀÛµÇ¾î »ýÁ¸Çϰí ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸Çϰí ÀÖ½À´Ï´Ù.
MBeanServer ¾×¼¼½º:
ThreadInfo
¸ÊÇüÀº, ThreadInfo ·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.
id - threadÀÇ thread ID. Á¤ÀÇ °ªÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù
ThreadInfo °´Ã¼. ÁöÁ¤µÈ ID
thread°¡ »ýÁ¸ ¶Ç´Â Á¸ÀçÇϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â null
IllegalArgumentException - id <= 0ÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ìThreadInfo [] getThreadInfo(long[] ids)
getThreadInfo(ids, 0);
ÀÌ ¸Þ¼µå´Â ThreadInfo °´Ã¼ÀÇ ¹è¿À» ¸®ÅÏÇÕ´Ï´Ù. °¢ ThreadInfo °´Ã¼ÀÇ ½ºÅà Ʈ·¹À̽º´Â StackTraceElement ºñ¾îÀÖ´Â ¹è¿ÀÌ µË´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ »ýÁ¸Çϰí ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇϰí ÀÖÁö ¾Ê´Â °æ¿ì, ¸®ÅÏµÈ ¹è¿ÀÇ ´ëÀÀÇÏ´Â ¿ä¼Ò´Â nullÀ» Æ÷ÇÔÇÕ´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ ½ÃÀÛµÇ¾î »ýÁ¸Çϰí ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸Çϰí ÀÖ½À´Ï´Ù.
MBeanServer ¾×¼¼½º:
ThreadInfo
¸ÊÇüÀº, ThreadInfo ·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.
ids - thread ID
¹è¿
ThreadInfo °´Ã¼ÀÇ ¹è¿
IllegalArgumentException - ÀÔ·Â ¹è¿ ids
¿ä¼Ò°¡ <= 0 ÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì
ThreadInfo getThreadInfo(long id,
int maxDepth)
Java °¡»ó ¸Ó½ÅÀÌ threadÀÇ ½ºÅà Ʈ·¹À̽º Á¤º¸¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì, ¶Ç´Â maxDepth == 0ÀÎ °æ¿ì, ThreadInfo °´Ã¼ÀÇ ½ºÅà Ʈ·¹À̽º´Â StackTraceElement ºñ¾îÀÖ´Â ¹è¿ÀÌ µË´Ï´Ù.
ÁöÁ¤µÈ ID thread°¡ »ýÁ¸Çϰí ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÈ ID°¡ ½ÃÀÛµÇ¾î »ýÁ¸Çϰí ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸Çϰí ÀÖ½À´Ï´Ù.
MBeanServer ¾×¼¼½º:
ThreadInfo
¸ÊÇüÀº, ThreadInfo ·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.
id - threadÀÇ thread ID. Á¤ÀÇ °ªÀÌ ¾Æ´Ï¸é ¾ÈµÇ´ÂmaxDepth - ´ýÇÁ µÇ´Â ½ºÅà Ʈ·¹À̽ºÀÇ ¿£Æ®¸®ÀÇ ÃÖ´ë¼ö. Integer.MAX_VALUE¸¦ »ç¿ëÇØ, ½ºÅà Àüü¸¦ ´ýÇÁ Çϵµ·Ï ¿ä±¸ÇÒ ¼ö ÀÖ´Ù
ThreadInfo . ÁöÁ¤µÈ ID
thread°¡ »ýÁ¸ ¶Ç´Â Á¸ÀçÇϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â null
IllegalArgumentException - id <= 0ÀÎ °æ¿ì
IllegalArgumentException - maxDepth is negativeÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì
ThreadInfo [] getThreadInfo(long[] ids,
int maxDepth)
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¸¦ »ç¿ëÇØ, ½ºÅà Àüü¸¦ ´ýÇÁ Çϵµ·Ï ¿ä±¸ÇÒ ¼ö ÀÖ´Ù
ThreadInfo °´Ã¼ÀÇ ¹è¿
IllegalArgumentException - maxDepth is negativeÀÎ °æ¿ì
IllegalArgumentException - ÀÔ·Â ¹è¿ ids
¿ä¼Ò°¡ <= 0 ÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ìboolean isThreadContentionMonitoringSupported()
boolean isThreadContentionMonitoringEnabled()
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ìisThreadContentionMonitoringSupported() void setThreadContentionMonitoringEnabled(boolean enable)
enable - À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ì´Â true, ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ thread ÄÁÅÙ¼Ç °¨½Ã¸¦ Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("control")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ìisThreadContentionMonitoringSupported() long getCurrentThreadCpuTime()
ÀÌ ¸Þ¼µå´Â ·ÎÄà °ü¸®·Î »ç¿ëÇÏ´Â °£ÀÌ ¸Þ¼µåÀ̸ç, ÀÌÇϸ¦ È£ÃâÇÏ´Â °Í°ú µ¿µîÇÕ´Ï´Ù.
getThreadCpuTime(Thread.currentThread(). getId());
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ìgetCurrentThreadUserTime(),
isCurrentThreadCpuTimeSupported(),
isThreadCpuTimeEnabled(),
setThreadCpuTimeEnabled(boolean) long getCurrentThreadUserTime()
ÀÌ ¸Þ¼µå´Â ·ÎÄà °ü¸®·Î »ç¿ëÇÏ´Â °£ÀÌ ¸Þ¼µåÀ̸ç, ÀÌÇϸ¦ È£ÃâÇÏ´Â °Í°ú µ¿µîÇÕ´Ï´Ù.
getThreadUserTime(Thread.currentThread(). getId());
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ìgetCurrentThreadCpuTime(),
isCurrentThreadCpuTimeSupported(),
isThreadCpuTimeEnabled(),
setThreadCpuTimeEnabled(boolean) long getThreadCpuTime(long id)
ÁöÁ¤µÈ ID thread°¡ »ýÁ¸Çϰí ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â -1À» ¸®ÅÏÇÕ´Ï´Ù. CPU ½Ã°£ ÃøÁ¤ÀÌ ¹«È¿ÀÇ °æ¿ì, ÀÌ ¸Þ¼µå´Â -1À» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ ½ÃÀÛµÇ¾î »ýÁ¸Çϰí ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸Çϰí ÀÖ½À´Ï´Ù.
thread°¡ ½ÃÀÛµÈ µÚ¿¡ CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÏ°Ô µÇ¾úÀ» °æ¿ì, Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼´Â CPU ½Ã°£ ÃøÁ¤ÀÌ ½ÃÀÛµÈ Æ÷ÀÎÆ®·Î¼ CPU ½Ã°£ ÃøÁ¤ ±â´ÉÀÌ À¯È¿ÇÏ°Ô µÈ ½Ã°£ ÀÌÀüÀÇ ÀÓÀÇÀÇ ½Ã°£À» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
id - threadÀÇ thread ID
IllegalArgumentException - id <= 0ÀÎ °æ¿ì
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ´Ù¸¥ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ìgetThreadUserTime(long),
isThreadCpuTimeSupported(),
isThreadCpuTimeEnabled(),
setThreadCpuTimeEnabled(boolean) long getThreadUserTime(long id)
ÁöÁ¤µÈ ID thread°¡ »ýÁ¸Çϰí ÀÖÁö ¾Ê´ÂÁö, Á¸ÀçÇϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â -1À» ¸®ÅÏÇÕ´Ï´Ù. CPU ½Ã°£ ÃøÁ¤ÀÌ ¹«È¿ÀÇ °æ¿ì, ÀÌ ¸Þ¼µå´Â -1À» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÈ ID thread°¡ ½ÃÀÛµÇ¾î »ýÁ¸Çϰí ÀÖ´Â °æ¿ì, thread´Â »ýÁ¸Çϰí ÀÖ½À´Ï´Ù.
thread°¡ ½ÃÀÛµÈ µÚ¿¡ CPU ½Ã°£ ÃøÁ¤ÀÌ À¯È¿ÇÏ°Ô µÇ¾úÀ» °æ¿ì, Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼´Â CPU ½Ã°£ ÃøÁ¤ÀÌ ½ÃÀÛµÈ Æ÷ÀÎÆ®·Î¼ CPU ½Ã°£ ÃøÁ¤ ±â´ÉÀÌ À¯È¿ÇÏ°Ô µÈ ½Ã°£ ÀÌÀüÀÇ ÀÓÀÇÀÇ ½Ã°£À» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
id - threadÀÇ thread ID
IllegalArgumentException - id <= 0ÀÎ °æ¿ì
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ´Ù¸¥ threadÀÇ CPU ½Ã°£ ÃøÁ¤À» Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ìgetThreadCpuTime(long),
isThreadCpuTimeSupported(),
isThreadCpuTimeEnabled(),
setThreadCpuTimeEnabled(boolean) boolean isThreadCpuTimeSupported()
boolean isCurrentThreadCpuTimeSupported()
isThreadCpuTimeSupported() °¡ true¸¦ µ¹·ÁÁÖ´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
boolean isThreadCpuTimeEnabled()
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ´Ù¸¥ thread »Ó¸¸ÀÌ ¾Æ´Ï¶ó ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤µµ Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ìisThreadCpuTimeSupported(),
isCurrentThreadCpuTimeSupported() void setThreadCpuTimeEnabled(boolean enable)
enable - À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ì´Â true, ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
UnsupportedOperationException - Java °¡»ó ¸Ó½ÅÀÌ ÀÓÀÇÀÇ thread »Ó¸¸ÀÌ ¾Æ´Ï¶ó ÇöÀçÀÇ threadÀÇ CPU ½Ã°£ ÃøÁ¤µµ Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("control")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ìisThreadCpuTimeSupported(),
isCurrentThreadCpuTimeSupported() long[] findMonitorDeadlockedThreads()
Object.wait È£ÃâµÚ, µ¿±â ºí·Ï¿¡ ÀçÀÔ ÇÏ´Â °ÍÀ» ´ë±âÇϰí ÀÖ½À´Ï´Ù. ¿©±â¿¡¼´Â »çÀÌŬÁßÀÇ ´Ù¸¥ thread¿¡ ÀÇÇØ º¸°ü À¯ÁöµÇ°í ÀÖ´Â ´Ù¸¥ ¸ð´ÏÅÍÀÇ ÃëµæÀ» ½ÃÇàÇϰí ÀÖ´Â µ¿¾È, °¢ thread´Â 1°³ÀÇ ¸ð´ÏÅ͸¦ º¸À¯Çϰí ÀÖ½À´Ï´Ù.
°ø½ÄÀ¸·Î´Â thread°¡ ¡¸´Ù¸¥ thread¿¡ ÀÇÇØ º¸À¯µÇ´Â °´Ã¼ ¸ð´ÏÅ͸¦ ´ë±âÇϰí ÀÖ´Ù¡¹°ü°è¿¡ ÀÖ´Â »çÀÌŬÀÇ ÀϺÎÀÎ °æ¿ì, thread´Â ¡¸¸ð´ÏÅÍ µ¥µå ·Ï¡¹µË´Ï´Ù. ¹«¾ùº¸´Ù °£´ÜÇÑ ÄÉÀ̽º¿¡ ´ëÇØ ¼³¸íÇϸé, thread A´Â thread B°¡ ¼ÒÀ¯ÇÏ´Â ¸ð´ÏÅ͸¦ ´ë±âÇÏ´Â °ÍÀ» ºí·Ï µÇ¾î thread B´Â thread A°¡ ¼ÒÀ¯ÇÏ´Â ¸ð´ÏÅ͸¦ ´ë±âÇÏ´Â °ÍÀ» ºí·Ï µË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Æ®·¯ºí ½´ÆÃÀ» À§Çؼ ¼³°èµÇ°í ÀÖ½À´Ï´Ù¸¸, µ¿±â Á¦¾î¸¦ À§ÇÑ °ÍÀÌ ¾Æ´Õ´Ï´Ù. ÀÌ ¸Þ¼µåÀÇ Á¶ÀÛÀº ºÎÇϰ¡ Ä¿Áú °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("monitor")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ìvoid resetPeakThreadCount()
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("control")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ìgetPeakThreadCount(),
getThreadCount()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.