У меня есть многопоточный проект производитель-потребитель, который тянет по 1 миллиону строк и проходит по каждой. каждая итерация вызывает метод invoke из workflow-invoker. Поскольку это своего рода небольшой вызов и он также должен быть синхронным, при запуске его в Visual Studio 2010 он не использует пик процессора (который я ожидаю равным 80/90%), как только Запустите его без Visual Studio, т.е. запустите exe-файл с консоли, он работает нормально и достигает пика.
просто для дополнительной информации для каждого потока создаются экземпляры WorkflowInvoker и CustomWorkflow, чтобы у всех них была копия общего ресурса. когда происходит каждая итерация, она сбрасывает входные значения и затем вызывает рабочий процесс.
while (true)
{
row = _buffer.Receive();
input["arg1"] = arg1;
input["arg2"] = arg2;
output = resource.WorkflowInvoker.Invoke(input);
}
Мой вопрос: почему при запуске в Visual Studio исполнение не достигает максимума, а не при запуске его непосредственно из консоли с использованием файла .exe?
спасибо,
Моиз