Допустим программа получает данные на входе и отдает не выходе. Программа на с++(не сильно важно, но для примера лучше язык без прослойки). Ничего не ждет, выполняется так быстро как может. Программа часть большой системы и используется для вычеслений, вызываясь другими программами (очень часто). Время вычисления около 5000 мс.
Что происходит, когда программа вызывается ?
Насколько быстрая эта операция ?
Возможно лучше повесить программу и ждать, пока будут приходит данные? Примерно так:
while(true) {
cin >> in
// вычисление
cout << out
}
А если во время одного вычисления еще нескольким программам понадобится вызов данной ? В итоге выстроится очередь и будут очень долго ждать.
Тогда возможно нужно запустить программу в нескольких экземплярах ?( если алгоритм однопоточный).
А если удастся разбить на треды, то лучше разбивать или запускать несколько экземпляров ?