- У меня есть два потока в C# Windows услуги с течением времени
- Когда время вызывает как поток начинает одновременно для извлечения файлов с сетевого сервера на одной и той же папке
- только отличие от thread1 и thread2 - размер файла, thread1 принимает файлы размером менее 10 МБ, а thread2 занимает больше 5 МБ.
- Так что мой вопрос в том, что с использованием
Directory.GetFiles
илиDirectory.EnumerateFiles
он будет конфликтовать с файлом исключения, который не найден, потому что я вижу эту ошибку в моем журнале?
thread1:многопоточной Directory.GetFiles с лямбда-выражения
foreach (var file in
Directory
.EnumerateFiles(serverConfig["stagingFolder"])
.Select(s => new FileInfo(s))
.Where(s =>
!s.Name.StartsWith(".")
&& !s.Name.EndsWith(".tmp")
&& !s.Name.EndsWith(".stdf.gz")
&& s.Length < size))
thread2
foreach (string file in
Directory
.EnumerateFiles(serverConfig["stagingFolder"], "*", SearchOption.TopDirectoryOnly)
.Where(s =>
!new FileInfo(s).Name.StartsWith(".")
&& !s.EndsWith(".tmp")
&& !s.EndsWith(".stdf.gz")
&& new FileInfo(s.ToString()).Length > size))
Почему вы используете два потока? Почему бы и нет? Почему не больше? – Enigmativity