Предположим, мне надо выполнить некоторую операцию в цикле.
Каждая итерация цикла достаточно прожорлива (жручие sql запросы и т д).
Естественно, хочется оптимизировать процесс, смотрю на многопоточность.
Но т к операция в цикле и вызываются одни те же методы, от и тот же контекст к БД и т д, то, получается, надо использовать lock как здесь в примере
https://metanit.com/sharp/tutorial/11.4.php. Но в этом случае остальные процессы будут ждать, пока не освободится ресурс, т е выигрыша в производительности не выйдет. Как вообще добиваются повышения производительности в таких случаях?
Вот реальный пример:
Мне надо сформировать отчет в Excel за 2 года. Один лист - 1 месяц. Формирую через NPOI.
Для генерации каждого листа выполняется достаточно объемный sql запрос. Очень хочется оптимизировать процесс.