Есть такой код с двумя циклами for:
for (int a = 0; a < numb1; a++)
{
//тут весь код для запуска и работы потоков для цикла ниже.
for (int d = 0; d < numb2; d++)//нужно чтобы этот подцикл выполнялся в 10 потоках (не суть количество потоков может быть разное) паралельно.
{
//тут не важно (код для выполнения в потоках).
}
}
нужно чтобы второй внутренний цикл выполнялся в отдельных параллельных потоках, и желательно весь код для запуска потоков поместился бы внутрь первого цикла ,такое как то можно реализовать вообще на C#?
всё просто
for (int a = 0; a < numb1; a++)
{
Parallel.For(0, numb2, d => {
//тут не важно (код для выполнения в потоках).
});
}
С указанием количества потоков
for (int a = 0; a < numb1; a++)
{
Parallel.For(
0,
numb2,
new ParallelOptions() {MaxDegreeOfParallelism = 42},
d =>
{
//тут не важно (код для выполнения в потоках).
});
}
Тут есть несколько вариантов решения (как всегда в программировании :D)
Вы можете, как уже говорилось ранее, распараллелить этот цикл руками, используя Thread
/ThreadPool
/Tasks
и т.д.
Но скорее всего вы хотите использовать что-то вроде класа Parallel, в котором уже есть метод For, распараллеливающий это за вас :D
Его вызов будет выглядеть у вас как-то так:
Parallel.For(0, numb2, (x)=>{ /* а тут 'неважный' код */})
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите разобратьсякак корректно построить иерархию для 3 вложенности в treeview, а именно для 3 классов, описывающих таблицы БД (entity framework):
Хочу в классе Eloquent получить название класса Tickers
По ответам из этого вопроса я понял как создавать jwt токенНо теперь встал вопрос, как его неявно обновлять