Да, вы должны поставить логику синхронизации потоков вокруг i++
, потому что возможно, что несколько потоков будут выполнять код после await
одновременно.
В результате цикла for будет создано количество Заданий. Эти задачи будут выполняться в разных потоках пула потоков. Как только эти Задачи будут завершены, продолжение, то есть код после ожидания, будет выполнено снова в разных потоках пула потоков. Это позволяет одновременно использовать несколько потоков i ++