Следуя этой публикации , я хочу распараллелить этот метод :
public IEnumerable GetAllLogs(IEnumerable computers)
{
foreach (var cpt in computers)
{
foreach (var log in cpt.GetLogs())
{
yield return log;
}
}
}
Я хочу, чтобы метод "yield returns" регистрирует, когда один из методов GetLogs завершен. Если у меня есть 4 компьютера, которые возвращаются:
При использовании «последовательного метода» вывод будет следующим:
a
b
c
d
e
1
2
3
4
5
alpha
beta
gamma
delta
epsilon
I
II
III
IV
V
И метод выполняется за 20 секунд. в методе GetLogs
есть Thread.Sleep (1000)
.
Я хочу, чтобы результат выглядел так:
III
a
4
gamma
b
c
IV
5
d
II
beta
e
1
2
delta
alpha
3
epsilon
I
и запускался через несколько секунд.
Я хочу, чтобы методы возвращали IEnumerable