Многопоточное считывание файла c#
возникла потребность в нескольких потоках читать и обрабатывать файл. Есть массив потоков, каждый из них считывает свою область файла. Ниже код:
for (int i = 0; i < proccesorsCount; i++)
{
start = end * i;
_end = end * (i + 1);
threads[i] = new Thread(() => _readFile(fileName, start, _end));
threads[i].Name = "Поток №" + i;
threads[i].Start();
Thread.Sleep(10);
}
Собственно, вопрос: Если убрать Thread.Sleep(10), то с индексами start и _end, начинают твориться чудеса. Например, они становятся равны индексам последнего блока во всех потоках:
Примечание: Я знаю, что можно использовать ThreadPool и т.п., но мне интересно, что здесь происходит
