Mögliche Duplikate:
C# Threading/Lock confusion
Ich habe folgendes Problem: Ich habe eine Überwachungsklasse, die ihren eigenen Thread ausführt und Daten aus der Warteschlange in eine Datei schreibt (damit die Hauptanwendung nicht auf E/A warten muss). Aber wenn der Hauptanwendungsthread endet (der Kontrollfluss läuft nach seiner letzten Zeile weiter), endet auch der Überwachungsthread, auch wenn er noch läuft (volle Warteschlange).
Gibt es einen Weg, ohne den Hauptthread zu ändern, um zu warten, bis der Worker-Thread fertig ist? C#.
EDIT: Ich kann den Hauptthread nicht ändern. Ich schreibe nur 'Support'-Code für eine riesige Anwendung mit einer gegebenen API (eine statische Methode, die vorgibt, was ich schreiben soll, woher sie aus der Konfiguration gelesen wird). Es gibt keine Möglichkeit, Threads zu ändern, die Hauptanwendung darf nicht von meinem Code abhängig sein.