Влияние высокой загрузки ЦП на выполнение фонового потока в JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Влияние высокой загрузки ЦП на выполнение фонового потока в Java

Сообщение Anonymous »

Контекст
В Java существует множество способов создания «фонового потока». Я хочу выделить ровно один поток, который продолжает работать в фоновом режиме. Для этого я использую ScheduledExecutorService.
Я хочу, чтобы этот поток выполнялся с фиксированным интервалом в 2 секунды (между последовательными выполнениями). Этот поток выполняет сетевой вызов службы с общим тайм-аутом в 1 секунду.
Насколько я понимаю, указание приоритета потока является поведением, зависящим от ОС, и представляет собой просто предложение для ОС установить приоритет этого потока над другими потоками в системе.
Вопрос
  • Какова гарантия того, что мой поток будет продолжать выполняться через регулярные промежутки времени (по крайней мере, раз в 3 секунды), несмотря на резкое увеличение загрузки ЦП (скажем, >= 70%)?
  • Можно ли это гарантировать? Это вопрос, зависящий от платформы? Удалим этот вопрос, чтобы сделать этот вопрос более сосредоточенным на самом главном.
Обновление: пояснение
Некоторые подробности о характеристиках фонового потока:
  • Большая часть времени потока будет проводиться в выполнение блокирующего вызова REST API с использованием JAX-RS с реализацией JerseyClient.
  • Оставшееся время тратится на дешевую работу по обработке, которая включает обработку ответа JSON размером < 1 КБ и обновление входного файла. Memory HashMap.
  • Этот поток будет выполняться в веб-приложении, обрабатывающем запросы в кластере AWS ECS (включено автоматическое масштабирование) – а мы не хотели бы процессор превысит 70%. Он поднимется выше 70% только из-за неожиданного всплеска, который случается крайне редко.
  • Если поток задерживается более чем на 3 секунды один раз из примерно 1000 раз (срабатывает в 99,9% раз), он должно быть в порядке. Поэтому мне не нужно, чтобы он работал в режиме реального времени (100%).
Кроме того, когда я говорил о 70 % процессора, я имел в виду 70 % общая вычислительная мощность, доступная приложению (включая ядра и т. д.).

Подробнее здесь: https://stackoverflow.com/questions/789 ... on-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»