Параллельные вычисления - C# (235507)
Формулировка задачи:
Здравствуйте! Нужно перебрать целые числа от
M
доN
и найти первое попавшееся число, подходящее под условие. Это просто решить циклом от M до N. Но я хочу как-то ускорить процесс, распараллелив вычисления. Итоговое число не обязательно должно быть минимальным. Подходит любое из чисел из промежутка, удовлетворяющих условие. Подскажите как распараллелить этот цикл.Решение задачи: «Параллельные вычисления»
textual
Листинг программы
using System; using System.Threading.Tasks; namespace ConsoleApplication7 { class Program { static void Main() { var res = NumberCheck.ReleaseCondition(0, 100500, x => x % 100200 == 0 && x != 0); Console.WriteLine(res); Console.ReadKey(); } } static class NumberCheck { public static long? ReleaseCondition(long from, long to, Func<long, bool> condition) { var res = Parallel.For(from, to, (i, state) => { if (condition(i)) state.Break(); }); return res.LowestBreakIteration; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д