Параллельное чтение файлов и Antimalware service executable

Столкнулся с одной проблемой. Не могу понять поведение Antimalware Service Executable. Есть программа которая считывает большое количество файлов:

var Files = Directory.EnumerateFiles(path, "*.dat", SearchOption.AllDirectories);

потом обрабатывает их параллельно:

var factoryTask= Task.Factory.StartNew(() => factory(Files));
private void factory(IEnumerable<string> Files)
    {
        Parallel.ForEach(Files, (file) =>
        {
            try
            {
                DatFactory(file);
            }
            finally
            {
                Interlocked.Increment(ref current);
            }

        });            
    }

при этом судя по таск менеджеру сама программа загружает процессор на 2-3% и практически нет обращений к диску. Но Antimalware Service Executable грузит процессор на оставшиеся 97%. пробовал играться с количеством потоков, чем меньше потоков( от 2*CPUcore и меньше) то увеличивается время выполнения и уменьшается нагрузка от Antimalware Service Executable. Попытка добавить программу в исключения и добавить Visual Studio c директориями в список исключений никак не меняют ситуацию. Пробовал на нескольких ОС с Windows 10. Ситуация аналогичная. Что так настораживает этот процесс и как этого избежать?


Ответы (0 шт):