Интерфейс 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 |
Устанавливает целевой параллелизм планировщика. |
Методы, объявленные в интерфейсе java.lang.management.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://download.java.net/java/early_access/jdk24/docs/api/jdk.management/jdk/management/VirtualThreadSchedulerMXBean.html