Ich habe eine Anwendung zum Entpacken eines Ordners und Zusammenführen von Dateien, ich möchte asynchron hier verwenden, ich möchte einen Thread einen Ordner entpacken und einen anderen Thread zum Zusammenführen der Dateien im entpackten Ordner, einmal entpacken Thread vervollständigen seine Aufgabe, sollte die App warten, bis Fusion Thread abgeschlossen ist. Merger Gewinde (Kind) ist abhängig von unzip Gewinde (parent) unterhalb der Code i bin mit innen Program.csAsynchrone Programmierung in .Net Konsolenanwendung
Dateivar t1= Task.Factory.StartNew(() =>
{
obj.UnZipFiles(files, formats);
});
innen unzip.cs
var t2= Task.Factory.StartNew(() =>
{
obj.MergeFiles();
});
in der Programmdatei. cs-Datei, ich habe
Task.WaitAll(t1);
Meine Anwendung wartet nicht auf Thread Kind zu vervollständigen, Jede Hilfe würde geschätzt.
Wenn Schritt 2 nur nach Schritt 1 stattfinden kann, gibt es keine Parallelität und keine Asynchronität. Sind Sie sicher, dass Sie das Problem verstanden haben? Klingt wie du beginnst mit einer Lösung für ein nicht existierendes Problem. – usr
Über was "Kind Thread" redest du? Übrigens. Wir haben es mit * 'Task's * zu tun, nicht mit Threads. – stakx
@ usr ein Beispiel betrachten: 2 Zip-Ordner mit jeweils 10 Dateien, ich möchte die App den ersten Zip-Ordner entpacken und 10 Dateien darin zusammenführen, und parallel dazu sollte es den zweiten Zip-Ordner öffnen, während die App zusammengeführt wird die Dateien aus dem ersten Zip-Ordner –