Интерфейс VirtualThreadSchedulerMXBean
- Все суперинтерфейсы:
PlatformManagedObject
public interface VirtualThreadSchedulerMXBean extends PlatformManagedObject
VirtualThreadSchedulerMXBean поддерживает мониторинг целевого уровня параллелизма планировщика виртуальных потоков, платформенных потоков, используемых планировщиком, и количества виртуальных потоков, поставленных в очередь планировщика. Он также позволяет динамически изменять целевой уровень параллелизма планировщика.
Интерфейс управления зарегистрирован в платформенном MBeanServer. ObjectName, уникально идентифицирующее интерфейс управления в MBeanServer: "jdk.management:type=VirtualThreadScheduler".
Получить прямой доступ к интерфейсу MXBean можно с помощью ManagementFactory.getPlatformMXBean(Class).
- Начиная с:
- 24
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getMountedVirtualThreadCount() |
Возвращает оценочное количество виртуальных потоков, которые в данный момент смонтированы планировщиком; -1, если значение неизвестно. |
int |
getParallelism() |
Возвращает целевой уровень параллелизма планировщика. |
int |
getPoolSize() |
Возвращает текущее количество платформенных потоков, запущенных планировщиком и ещё не завершившихся; -1, если значение неизвестно. |
long |
getQueuedVirtualThreadCount() |
Возвращает оценочное количество виртуальных потоков, поставленных в очередь планировщика для начала или продолжения выполнения; -1, если значение неизвестно. |
void |
setParallelism |
Задаёт целевой уровень параллелизма планировщика. |
Методы, объявленные в интерфейсе PlatformManagedObject
getObjectName
Подробное описание методов
getParallelism
int getParallelism()
- Возвращает:
- целевой уровень параллелизма планировщика
- См. также:
setParallelism
void setParallelism(int size)
Увеличение целевого уровня параллелизма позволяет планировщику при необходимости использовать больше платформенных потоков для переноса виртуальных потоков. Уменьшение целевого уровня параллелизма снижает количество потоков, которые планировщик может использовать для переноса виртуальных потоков.
- Примечание API:
- Если виртуальные потоки часто монтируются и размонтируются, уменьшение целевого уровня параллелизма, вероятно, быстро вступит в силу.
- Примечание по реализации:
- Планировщик виртуальных потоков JDK — это
ForkJoinPool. Целевой уровень параллелизма по умолчанию равен количеству доступных процессоров. Минимальный целевой уровень параллелизма равен 1, максимальный — 32767. - Параметры:
-
size— целевой уровень параллелизма - Исключения:
-
IllegalArgumentException— если значение меньше минимального или больше максимального значения, поддерживаемого планировщиком -
UnsupportedOperationException— если изменение целевого уровня параллелизма не поддерживается планировщиком - См. также:
getPoolSize
int getPoolSize()
-1, если значение неизвестно. В это количество входят платформенные потоки, которые в данный момент переносят виртуальные потоки, и платформенные потоки, которые в данный момент не переносят виртуальные потоки. Количество потоков может превышать целевой уровень параллелизма планировщика.
- Примечание по реализации:
- Планировщик виртуальных потоков JDK — это
ForkJoinPool. Размер пула — это количество рабочих потоков. - Возвращает:
- текущее количество платформенных потоков, запущенных планировщиком и ещё не завершившихся;
-1, если значение неизвестно
getMountedVirtualThreadCount
int getMountedVirtualThreadCount()
-1, если значение неизвестно. Количество смонтированных виртуальных потоков равно количеству платформенных потоков, переносящих виртуальные потоки.
- Примечание по реализации:
- Этот метод может завышать количество смонтированных виртуальных потоков.
- Возвращает:
- оценочное количество виртуальных потоков, которые в данный момент смонтированы планировщиком;
-1, если значение неизвестно
getQueuedVirtualThreadCount
long getQueuedVirtualThreadCount()
-1, если значение неизвестно.- Примечание по реализации:
- Этот метод может завышать количество виртуальных потоков, поставленных в очередь на выполнение.
- Возвращает:
- оценочное количество виртуальных потоков, поставленных в очередь планировщика для начала или продолжения выполнения;
-1, если значение неизвестно
© 1993, 2025, 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/25/docs/api/jdk.management/jdk/management/VirtualThreadSchedulerMXBean.html