Интерфейс ThreadMXBean
- Все суперинтерфейсы:
-
PlatformManagedObject,ThreadMXBean
public interface ThreadMXBean extends ThreadMXBean
Это расширение платформы доступно только реализации потока, поддерживающей это расширение.
- С:
- 6u25
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default long |
getCurrentThreadAllocatedBytes() |
Возвращает приблизительное значение общего объёма памяти, в байтах, выделенной в куче памяти для текущего потока. |
long |
getThreadAllocatedBytes |
Возвращает приблизительное значение общего объёма памяти, в байтах, выделенной в куче памяти для потока с указанным идентификатором. |
long[] |
getThreadAllocatedBytes |
Возвращает приблизительное значение общего объёма памяти, в байтах, выделенной в куче памяти для каждого потока, идентификаторы которых находятся в входном массиве ids. |
long[] |
getThreadCpuTime |
Возвращает общее время выполнения CPU для каждого потока, идентификаторы которых находятся в входном массиве ids в наносекундах. |
long[] |
getThreadUserTime |
Возвращает время выполнения CPU, которое каждый поток, идентификаторы которых находятся в входном массиве ids, провёл в пользовательском режиме в наносекундах. |
boolean |
isThreadAllocatedMemoryEnabled() |
Проверяет, включено ли измерение выделения памяти потоков. |
boolean |
isThreadAllocatedMemorySupported() |
Проверяет, поддерживает ли реализация виртуальной машины Java измерение выделения памяти потоков. |
void |
setThreadAllocatedMemoryEnabled |
Включает или отключает измерение выделения памяти потоков. |
Методы, объявленные в интерфейсе java.lang.management.PlatformManagedObject
getObjectName
Методы, объявленные в интерфейсе java.lang.management.ThreadMXBean
dumpAllThreads, dumpAllThreads, findDeadlockedThreads, findMonitorDeadlockedThreads, getAllThreadIds, getCurrentThreadCpuTime, getCurrentThreadUserTime, getDaemonThreadCount, getPeakThreadCount, getThreadCount, getThreadCpuTime, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadUserTime, getTotalStartedThreadCount, isCurrentThreadCpuTimeSupported, isObjectMonitorUsageSupported, isSynchronizerUsageSupported, isThreadContentionMonitoringEnabled, isThreadContentionMonitoringSupported, isThreadCpuTimeEnabled, isThreadCpuTimeSupported, resetPeakThreadCount, setThreadContentionMonitoringEnabled, setThreadCpuTimeEnabled
Подробное описание методов
getThreadCpuTime
long[] getThreadCpuTime(long[] ids)
ids в наносекундах. Возвращаемые значения имеют точность в наносекундах, но не обязательно точность в наносекундах. Этот метод эквивалентен вызову метода ThreadMXBean.getThreadCpuTime(long) для каждого идентификатора потока во входном массиве ids и установке возвращаемого значения в соответствующий элемент возвращаемого массива.
- Параметры:
-
ids- массив идентификаторов потоков. - Возвращает:
- массив значений типа long, каждое из которых представляет собой количество времени работы процессора, используемого потоком, идентификатор которого указан в соответствующем элементе входного массива идентификаторов, если поток с указанным идентификатором существует, поток активен и измерение времени работы процессора включено;
-1в противном случае. - Выбрасывает:
-
NullPointerException- еслиidsравноnull -
IllegalArgumentException- если любой элемент во входном массивеidsимеет значение<=0. -
UnsupportedOperationException- если реализация виртуальной машины Java не поддерживает измерение времени работы процессора. - См. также:
getThreadUserTime
long[] getThreadUserTime(long[] ids)
ids в режиме пользователя в наносекундах. Возвращаемые значения имеют точность в наносекундах, но не обязательно точность в наносекундах. Этот метод эквивалентен вызову метода ThreadMXBean.getThreadUserTime(long) для каждого идентификатора потока во входном массиве ids и установке возвращаемого значения в соответствующий элемент возвращаемого массива.
- Параметры:
-
ids- массив идентификаторов потоков. - Возвращает:
- массив значений типа long, каждое из которых представляет собой количество времени работы процессора в режиме пользователя, используемого потоком, идентификатор которого указан в соответствующем элементе входного массива идентификаторов, если поток с указанным идентификатором существует, поток активен и измерение времени работы процессора включено;
-1в противном случае. - Выбрасывает:
-
NullPointerException- еслиidsравноnull -
IllegalArgumentException- если любой элемент во входном массивеidsимеет значение<=0. -
UnsupportedOperationException- если реализация виртуальной машины Java не поддерживает измерение времени работы процессора. - См. также:
getCurrentThreadAllocatedBytes
default long getCurrentThreadAllocatedBytes()
Этот метод предназначен для использования в локальном управлении и эквивалентен вызову:
getThreadAllocatedBytes(Thread.currentThread().getId());
- Возвращает:
- приблизительное значение общего объема выделенной памяти в байтах в куче памяти для текущего потока, если измерение выделения памяти потока включено;
-1в противном случае. - Выбрасывает:
-
UnsupportedOperationException- если реализация виртуальной машины Java не поддерживает измерение выделения памяти потока. - См. также:
getThreadAllocatedBytes
long getThreadAllocatedBytes(long id)
Если поток с указанным идентификатором не активен или не существует, этот метод возвращает -1. Если измерение выделения памяти потока отключено, этот метод возвращает -1. Поток активен, если он был запущен и еще не завершился.
Если измерение выделения памяти потока включено после запуска потока, реализация виртуальной машины Java может выбрать любое время до и включая момент включения возможности в качестве момента начала измерения выделения памяти потока.
- Параметры:
-
id- идентификатор потока - Возвращает:
- приблизительное значение общего объема выделенной памяти в байтах в куче памяти для потока с указанным идентификатором, если поток с указанным идентификатором существует, поток активен и измерение выделения памяти потока включено;
-1в противном случае. - Выбрасывает:
-
IllegalArgumentException- еслиid<=0. -
UnsupportedOperationException- если реализация виртуальной машины Java не поддерживает измерение выделения памяти потока. - См. также:
getThreadAllocatedBytes
long[] getThreadAllocatedBytes(long[] ids)
ids. Возвращаемые значения являются приблизительными, потому что некоторые реализации виртуальных машин Java могут использовать механизмы выделения объектов, что приводит к задержке между временем выделения объекта и временем записи его размера. Этот метод эквивалентен вызову метода getThreadAllocatedBytes(long) для каждого идентификатора потока во входном массиве ids и установке возвращаемого значения в соответствующий элемент возвращаемого массива.
- Параметры:
-
ids- массив идентификаторов потоков. - Возвращает:
- массив значений типа long, каждое из которых представляет собой приблизительное значение общего объема памяти в байтах, выделенной в куче памяти для потока, идентификатор которого указан в соответствующем элементе входного массива идентификаторов.
- Выбрасывает:
-
NullPointerException- еслиidsравноnull -
IllegalArgumentException- если любой элемент во входном массивеidsимеет значение<=0. -
UnsupportedOperationException- если реализация виртуальной машины Java не поддерживает измерение выделения памяти потока. - См. также:
isThreadAllocatedMemorySupported
boolean isThreadAllocatedMemorySupported()
- Возвращает:
-
trueесли реализация виртуальной машины Java поддерживает измерение выделения памяти потока;falseв противном случае.
isThreadAllocatedMemoryEnabled
boolean isThreadAllocatedMemoryEnabled()
- Возвращает:
-
trueесли измерение выделения памяти потока включено;falseв противном случае. - Выбрасывает:
-
UnsupportedOperationException- если виртуальная машина Java не поддерживает измерение выделения памяти потока. - См. также:
setThreadAllocatedMemoryEnabled
void setThreadAllocatedMemoryEnabled(boolean enable)
- Параметры:
-
enable-trueдля включения;falseдля отключения. - Выбрасывает:
-
UnsupportedOperationException- если виртуальная машина Java не поддерживает измерение выделения памяти потока. -
SecurityException- если менеджер безопасности существует и у вызывающего объекта нет разрешения ManagementPermission("control"). - См. также:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/ThreadMXBean.html