Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 24628|Antwort: 1

[WinForm] C# task.waitall friert die Schnittstelle ein

[Link kopieren]
Veröffentlicht am 26.06.2017 22:01:09 | | |
Ich habe heute ein Programm geschrieben und festgestellt, dass die Winform-Oberfläche hängen bleibt und nicht nicht nicht reagiert.
Wenn man jedoch auf die Software klickt, gibt es überhaupt keine Reflexion, und sie ist in einen Zustand der Suspendierung geraten.


Dann wurden beim Debuggen keine Ausnahmen gemacht – was ist das Problem?

Da du diesen Satz im Hauptthread geschrieben hast, muss der Hauptthread warten, bis alle Aufgaben ausgeführt sind, bevor der folgende Code ausgeführt wird
Ich bin auch auf dieses Problem gestoßen, dass ein neuer Kind-Thread im Hauptthread geöffnet wird, aber wenn ich warte, bis alle Kind-Threads die Ausführung abgeschlossen haben, bevor der nächste Code des Hauptthreads ausgeführt wird, friert die Schnittstelle mit der Warte-Methode die Schnittstelle ein
Als ich die Kommentare im Internet sah, wurde mir plötzlich klar, dass ich schrieb

Es ist im Hauptthread geschrieben, der auf das Ende aller Aufgaben wartet, was dazu führt, dass die Schnittstelle in einen Zustand der Suspendierung versetzt wird

Die Lösung lautet wie folgt:

Wickle einen Faden außen Thread, löse!




Vorhergehend:Verifizierung von WebAPI Universal Signatures (2)
Nächster:Der Alibaba Cloud SMS Service sendet Werbe-SMS-Nachrichten in Chargen
Veröffentlicht am 01.12.2022 15:02:09 |
Ich habe jetzt dasselbe Problem, der Subthread bleibt hängen, wenn er nach dem Start mit task.waitall blockiert.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com