Может ли слишком много потоков увеличить потребление процессора?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Может ли слишком много потоков увеличить потребление процессора?

Сообщение Anonymous »

Я работаю над приложением C ++, где наш собственный сервис объекта запускается в его собственной ветке, и менеджер занимается всеми услугами. Основным профессионалом этой архитектуры является все услуги, которая может получить доступ и взаимодействовать с любым другим. Но теперь почти каждая функция выполняется внутри службы, не задумываясь о собственности или продолжительности жизни между объектом. Это читает файл JSON в начале выполнения. Доступ к данным конфигурации затем доступны другими службами по всей системе. Хотя эта настройка работает для передачи данных по обмену конфигурацией, мне интересно, является ли неоптимально посвятить отдельный поток службе, которая делает чуть больше, чем читать файл с самого начала, а затем сидит, в то же время предоставляя только данные для других. /> Я забочусь: < /p>
Является ли излишним создавать отдельный поток для службы, которая только один раз считывает файл и не выполняет никакой активной обработки впоследствии? Интересно, будет ли система работать лучше, если такие службы просто владеют своими собственными данными (например, классом с копией данных конфигурации) вместо создания услуги и управления потоком для него. Несмотря на то, что служба не делает ничего активного после инициализации, кажется, что использование услуги со своим собственным потоком только для обмена данными может быть неоправданным ресурсом.
Вопросы:

неоптимально создавать отдельный поток для каждой службы в приложении C ++ с несколькими услугами, особенно когда служба делает минимальную работу, например, чтение файла один раз? < /p >
< /li>
Могла бы модель потока на услуги внести свой вклад в высокую среднюю нагрузку, и если да, лучше ли просто иметь услуги владеют копией требуемых данных вместо создания потоков для каждой службы? Будет ли это создавать задержку и нехватку процессора? Рефактор вся моя архитектура, которую я просто хочу правильно понять, перспективная и процессор :) < /p>
Редактировать: для большего контекста я работаю над встроенной системой с 4 ядрами и в настоящее время имею среднее значение нагрузки со временем около 20 и не гораздо больше доступного процессора; Я ищу оптимизацию.

Подробнее здесь: https://stackoverflow.com/questions/794 ... onsumption
Ответить

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

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

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

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

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