Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 24628|Antwoord: 1

[WinForm] C# task.waitall zal de interface bevriezen

[Link kopiëren]
Geplaatst op 26-06-2017 22:01:09 | | |
Ik heb vandaag een programma geschreven en ontdekte dat de Winform-interface vastzit en niet niet niet reageert.
Maar als je op de software klikt, is er helemaal geen reflectie en is het in een staat van gesuspendeerde animatie terechtgekomen.


Toen debugging, werden er geen uitzonderingen gegooid, wat is het probleem?

Omdat je deze zin in de hoofdthread hebt geschreven, moet de hoofdthread wachten tot alle taken zijn uitgevoerd voordat de volgende code wordt uitgevoerd
Ik had dit probleem ook: ik opende een nieuw kinddraadje in de hoofddraad, maar wachtte tot alle kindthreads de uitvoering voltooiden voordat ik de volgende code van de hoofddraad uitvoerde, waarbij de wachtmethode de interface bevroren
Toen ik de reacties op internet zag, realiseerde ik me plotseling dat ik het plaatste

Het is geschreven in de hoofdthread, die heeft gewacht tot alle taken klaar waren, waardoor de interface in een staat van suspensie van animatie terechtkomt.

De oplossing is als volgt:

Wikkel een draad buiten Draad, los!




Vorig:Verificatie van WebAPI Universele Signaturen (2)
Volgend:Alibaba Cloud SMS Service verstuurt promotionele SMS-berichten in batches
Geplaatst op 01-12-2022 15:02:09 |
Ik heb nu hetzelfde probleem, de subthread blijft hangen als hij na het opstarten blokkeert met task.waitall.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com