Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 24628|Odpověď: 1

[WinForm] C# task.waitall zamrazí rozhraní

[Kopírovat odkaz]
Zveřejněno 26.06.2017 22:01:09 | | |
Dnes jsem napsal program a zjistil jsem, že rozhraní Winform je zaseklé a není nereagující nereaguje,
Nicméně po kliknutí na software není žádný odraz a přešel do stavu pozastavené animace.


Pak ladění, žádné výjimky nebyly vyhozeny, v čem je problém?

Protože jste tuto větu napsal do hlavního vlákna, hlavní vlákno musí počkat, až budou všechny úkoly vykonány, než spustí následující kód
Také jsem narazil na tento problém, kdy jsem otevřel nové podvlákno v hlavním vlákně, ale čekal jsem, až všechna podvlákna dokončí vykonání, než spustím další kód hlavního vlákna, a metoda čekání zamrazí rozhraní
Když jsem viděl komentáře na internetu, najednou mi došlo, že jsem napsal

Je napsán v hlavním vlákně, které čeká na ukončení všech úkolů, což vede k tomu, že rozhraní přechází do stavu pozastavené animace

Řešení je následující:

Uzavřete vlákno mimo vlákno, vyřešíte!




Předchozí:Ověření univerzálních podpisů WebAPI (2)
Další:Alibaba Cloud SMS služba posílá propagační SMS zprávy v dávkách
Zveřejněno 01.12.2022 15:02:09 |
Teď mám stejný problém, podvlákno se zasekne, když se po spuštění zablokuje s task.waitall.
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com