StreamWriter Многопоточность C #

Я хотел бы попросить помощи по моему коду. Я новичок и хотел реализовать безопасную многопоточность при записи в текстовый файл.

    StreamWriter sw = new StreamWriter(@"C:\DailyLog.txt");
    private void Update(){
        var collection = Database.GetCollection<Entity>("products");
        StreamReader sr = new StreamReader(@"C:\LUSTK.txt");
            string[] line = sr.ReadLine().Split(new char[] { ';' });
            while (!sr.EndOfStream)
            {
                    line = sr.ReadLine().Split(new char[] { ';' });
                    t = delegate { 
                           UpdateEach(Convert.ToInt32(line[5])); 
                        }; 
                     new Thread(t).Start();
            }
            sr.Close();

    }
    private void UpdateEach(int stock)
    {
            sw.WriteLine(ean);

    }

Я не получил ошибку в своем коде, но, кажется, не все записано в мой текстовый файл. Я не сделалsw.Close() потому что я знаю, что некоторые темы еще не были закончены. Кроме того, как я могу реализоватьsw.Close зная, что ни одна нить не останется незавершенной. У меня 5 миллионов записей в моемLUSTK.text это должно быть прочитаноStreamReader и каждый создал поток, и каждый поток имеет доступ к одному и тому же текстовому файлу.

Ответы на вопрос(2)

Ваш ответ на вопрос