StreamWriter Multi Threading C #

Ich möchte um Hilfe zu meinem Code bitten. Ich bin ein Neuling und wollte sicheres Multi-Threading beim Schreiben in eine Textdatei implementieren.

    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);

    }

Ich habe keinen Fehler in meinem Code, aber es scheint nicht alles in meine Textdatei geschrieben zu sein. Ich habe nicht gemachtsw.Close() weil ich weiß, dass einige Threads noch nicht fertig waren. Außerdem, wie kann ich implementierensw.Close wohl wissend, dass kein thread unvollendet blieb. Ich habe 5 Millionen Rekorde in meinemLUSTK.text das ist zu lesen vonStreamReader und jeder hat einen Thread erstellt und jeder Thread greift auf dieselbe Textdatei zu.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage