Я хотел бы сделать это с помощью Parallel.ForEach. Как я могу сделать?использовать Parallel.ForEach с функцией в списке
partial class Form1: Form
{
private List<my_class> lstmy_class = new List<my_class>();
private void execute_tpl(object source, ElapsedEventArgs e)
{
var tokenSource = new CancellationTokenSource();
var token = tokenSource.Token;
var tab_task = new Task[lstmy_class.Count];
try
{
for (int i = 0; i < lstmy_class.Count; i++)
{
tab_task[i] = Task.Factory.StartNew(() => lstmy_class[i].Calcul(token));
}
Task.WaitAll(tab_task);
}
catch (Exception ex)
{
Console.WriteLine("Error : "+ex.GetType());
}
}
}
class my_class{
...
public void Calcul(CancellationToken token)
{
// do work
}
}
Стараюсь с:
Parallel.ForEach<my_class>(lstChartClass,() => Calcul(token));
но компилятор не хочу этот синтаксис. Я не нашел хороший синтаксис.
Я стараюсь также с Parallel.ForEach<my_class>(lstChartClass, (i) => lstChartClass[i]Calcul());
, но ничего не работает.
он отлично работает. Спасибо. – Florent
@Florent Добро пожаловать! Если это решит вашу проблему, вы можете [принять мой ответ] (http://stackoverflow.com/help/someone-answers). –