Spec-Zone.ru › OpenJDK 25

Интерфейс VirtualThreadSchedulerMXBean

Все суперинтерфейсы:
PlatformManagedObject
public interface VirtualThreadSchedulerMXBean extends PlatformManagedObject
Интерфейс управления планировщиком виртуальных потоков JDK.

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(int size)
Задаёт целевой уровень параллелизма планировщика.

Методы, объявленные в интерфейсе PlatformManagedObject

getObjectName

Подробное описание методов

getParallelism

int getParallelism()
Возвращает целевой уровень параллелизма планировщика.
Возвращает:
целевой уровень параллелизма планировщика
См. также:
  • ForkJoinPool.getParallelism()

setParallelism

void setParallelism(int size)
Задаёт целевой уровень параллелизма планировщика.

Увеличение целевого уровня параллелизма позволяет планировщику при необходимости использовать больше платформенных потоков для переноса виртуальных потоков. Уменьшение целевого уровня параллелизма снижает количество потоков, которые планировщик может использовать для переноса виртуальных потоков.

Примечание API:
Если виртуальные потоки часто монтируются и размонтируются, уменьшение целевого уровня параллелизма, вероятно, быстро вступит в силу.
Примечание по реализации:
Планировщик виртуальных потоков JDK — это ForkJoinPool. Целевой уровень параллелизма по умолчанию равен количеству доступных процессоров. Минимальный целевой уровень параллелизма равен 1, максимальный — 32767.
Параметры:
size — целевой уровень параллелизма
Исключения:
IllegalArgumentException — если значение меньше минимального или больше максимального значения, поддерживаемого планировщиком
UnsupportedOperationException — если изменение целевого уровня параллелизма не поддерживается планировщиком
См. также:
  • ForkJoinPool.setParallelism(int)

getPoolSize

int getPoolSize()
Возвращает текущее количество платформенных потоков, запущенных планировщиком и ещё не завершившихся; -1, если значение неизвестно.

В это количество входят платформенные потоки, которые в данный момент переносят виртуальные потоки, и платформенные потоки, которые в данный момент не переносят виртуальные потоки. Количество потоков может превышать целевой уровень параллелизма планировщика.

Примечание по реализации:
Планировщик виртуальных потоков JDK — это ForkJoinPool. Размер пула — это количество рабочих потоков.
Возвращает:
текущее количество платформенных потоков, запущенных планировщиком и ещё не завершившихся; -1, если значение неизвестно

getMountedVirtualThreadCount

int getMountedVirtualThreadCount()
Возвращает оценочное количество виртуальных потоков, которые в данный момент смонтированы планировщиком; -1, если значение неизвестно.

Количество смонтированных виртуальных потоков равно количеству платформенных потоков, переносящих виртуальные потоки.

Примечание по реализации:
Этот метод может завышать количество смонтированных виртуальных потоков.
Возвращает:
оценочное количество виртуальных потоков, которые в данный момент смонтированы планировщиком; -1, если значение неизвестно

getQueuedVirtualThreadCount

long getQueuedVirtualThreadCount()
Возвращает оценочное количество виртуальных потоков, поставленных в очередь планировщика для начала или продолжения выполнения; -1, если значение неизвестно.
Примечание по реализации:
Этот метод может завышать количество виртуальных потоков, поставленных в очередь на выполнение.
Возвращает:
оценочное количество виртуальных потоков, поставленных в очередь планировщика для начала или продолжения выполнения; -1, если значение неизвестно

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API