Лучше ли создавать новый поток или создавать новый процесс в многоядерной системе? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть система Linux с 2 ядрами, и я запускаю приложение, которое является однопоточным, и в большинстве случаев оно должно ждать операций ввода-вывода, поэтому я сделал его асинхронным.Когда я загружаю тестируемое приложение, большую часть времени только один процессор будет работать на 100%, а другой - почти без нагрузки.

Мой вопрос:

  1. Если я хочу загрузить нагрузку на другой процессор, который не будет использоваться, лучше создать новый процесс или порождениенесколько потоков и позволить потоку / процессу обрабатывать нагрузку?
  2. Если я создаю другой поток, будет ли он использовать тот же процессор, на котором он был создан, или ОС выберет процессор, который является идеальным?
  3. Сколько потоков я могу создать без снижения производительности?
  4. Сколько процессов я могу создать без снижения производительности?
  5. Что если я создаю 2 процесса и порождаю потоки из этих процессов?два процесса?
...