Это псевдокод:< /p>
Код: Выделить всё
public IEnumerable ReadFile( )
{
foreach (string filepath in lstOfFiles)
{
var stream = new FileStream(filepath , FileMode.Open, FileAccess.Read);
foreach (var item in ReadStream(stream))
yield return item; //where item is of type List
}
}
Код: Выделить всё
lstOfFiles.AsParallel()
.ForAll(filepath =>
{
var stream = new FileStream(filepath , FileMode.Open, FileAccess.Read);
foreach (var item in ReadStream(Stream))
yield return item;
});
Любой может предложить мне простой и лучший способ получить выход для возврата сбора данных в параллельных блоках или задаче. p>
Я читал, что в приведенном выше сценарии можно использовать RX 2.0 или TPL. У меня есть сомнения, использовать ли библиотеку RX или TPL для асинхронного возврата доходности значений. Может ли кто-нибудь подсказать мне, что лучше: Rx или TPL.
Если я использую Rx, необходимо ли создавать подписку и конвертировать параллельный блок AsObservable.
Подробнее здесь: https://stackoverflow.com/questions/276 ... ck-or-task
Мобильная версия