Фактически, если вы не используете JVM, которая использует «зеленые потоки», именно операционная система в конечном итоге выполняет распределение времени потока и планирование потока. Если вам нужно изменить расписание и т. Д., Начните с поиска средств, которые можно сделать в вашей операционной системе.
Один из способов, о котором я подумал, - написать свой собственный циклический планировщик и запустить его как поток с высоким уровнем приоритета, чтобы он контролировал все остальные потоки. Будет ли это работать?
Нет никаких гарантий. Это зависит от того, насколько реагирует планировщик потоков ОС на изменения приоритетов потоков.
Другие проблемы с этим подходом (корректировка приоритетов потоков):
- это неизбежно сделает ваше приложение более специфичным для платформы в отношении взаимодействия между вашим планировщиком и планировщиком реального (черного ящика) потока,
- будет очень сложно узнать, работает ли ваш планировщик эффективно, и
- это усложнит отслеживание "heisenbugs" в вашем приложении.
Почему вы считаете, что это необходимо сделать?