Если функция от одного int, то можно вызвать Parallel.For. А как вызвать Parallel.For или Parallel.Foreach для функции от int и еще нескольких параметров? Желательно не на словах, а немного кода. Или в таком случае только создавать массив Task?
Здравствуйте, Passerby, Вы писали:
P>Здравствуйте, takTak, Вы писали: T>>https://stackoverflow.com/questions/22264524/parallel-foreach-multiple-arguments-being-passed-to-method P>А как в этом примере то же сделать без лямбды. Т.е. как здесь делается Action<int> act из функции от int и еще одного параметра?
Можно ещё сделать объект, содержащий нужные параметры, и метод Do(int),который и присваивать Action<int>-у.
Но по сути ты руками будет делать замыкание, которое лямбда позволяет сделать одной строкой.
Re[4]: Как вызвать Parallel.For для функции от нескольких параметро
Здравствуйте, 0x7be, Вы писали:
0>Здравствуйте, Passerby, Вы писали:
P>>Здравствуйте, takTak, Вы писали: T>>>https://stackoverflow.com/questions/22264524/parallel-foreach-multiple-arguments-being-passed-to-method P>>А как в этом примере то же сделать без лямбды. Т.е. как здесь делается Action<int> act из функции от int и еще одного параметра? 0>Можно ещё сделать объект, содержащий нужные параметры, и метод Do(int),который и присваивать Action<int>-у. 0>Но по сути ты руками будет делать замыкание, которое лямбда позволяет сделать одной строкой.
Т.е. схема примерно:
class C
{
string str;
public void Do(int j)
{ int k = j + str.IndexOf("a"); }
}
// в программе
C c = new C();
Action<int> act = c.Do;
Но если лямбда, то там отложенные вычисления, т.е. еще что-то создается, влияющее на производительность?
Re[5]: Как вызвать Parallel.For для функции от нескольких параметро
Здравствуйте, Passerby, Вы писали:
P>Т.е. схема примерно:
Да.
P>Но если лямбда, то там отложенные вычисления, т.е. еще что-то создается, влияющее на производительность?
Нет, лямбда не создаёт отложенных вычислений, она просто позволяет сконструировать функцию "по месту". Под капотом оно выглядит примерно так же, как ты описал руками. Можешь в .net-дизассемблере посмотреть, как оно реализовано.
Re[3]: Как вызвать Parallel.For для функции от нескольких параметро