Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 24628|Svar: 1

[WinForm] C# task.waitall kommer att frysa gränssnittet

[Kopiera länk]
Publicerad på 2017-06-26 22:01:09 | | |
Jag skrev ett program idag och upptäckte att Winform-gränssnittet fastnar och inte är oresponsivt,
Men när man klickar på programvaran finns ingen reflektion alls, och den har gått in i ett tillstånd av suspenderad animation.


Sedan, vid felsökning, släpptes inga undantag, vad är problemet?

Eftersom du skrev denna mening i huvudtråden får huvudtråden vänta tills alla uppgifter är exekverade innan följande kod exekveras
Jag stötte också på detta problem, att öppna en ny barntråd i huvudtråden, men vänta tills alla barntrådar är klara innan jag kör nästa kod i huvudtråden, och använda wait-metoden fryser gränssnittet
När jag såg kommentarerna på internet insåg jag plötsligt, jag skrev

Den är skriven i huvudtråden, som har väntat på att alla uppgifter ska vara klara, vilket resulterar i att gränssnittet går in i ett tillstånd av suspenderad animation

Lösningen är följande:

Linda en tråd utanför Tråd, lös!




Föregående:Verifiering av WebAPI Universal-signaturer (2)
Nästa:Alibaba Cloud SMS Service skickar marknadsföringsmeddelanden i batcher
Publicerad på 2022-12-01 15:02:09 |
Jag har nu samma problem, undertråden fastnar när den blockeras med task.waitall efter att ha startat.
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com