Spec-Zone.ru › OpenJDK 27

Интерфейс 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
Модификатор и тип Метод Описание
ObjectName getObjectName()
Возвращает экземпляр ObjectName, представляющий имя объекта этого платформенного управляемого объекта.

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

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, 2026, 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.

Spec-Zone.ru

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