Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 24628|Odpowiedź: 1

[WinForm] C# task.waitall zamrozi interfejs

[Skopiuj link]
Opublikowano 26.06.2017 22:01:09 | | |
Dziś napisałem program i okazało się, że interfejs Winform się zaciął i nie jest nieresponsywny,
Jednak klikając w oprogramowanie, nie ma żadnego odbicia i weszło ono w stan zawieszonej animacji.


Potem debugowanie, bez wyjątków, w czym problem?

Ponieważ napisałeś to zdanie w głównym wątku, główny wątek czeka na wykonanie wszystkich zadań, zanim wykona następujący kod
Spotkałem się też z tym problemem, otwierając nowy wątek potomny w głównym wątku, ale czekając, aż wszystkie wątki podrzędne zakończą wykonanie, zanim uruchomię kolejny kod głównego wątku, używając metody oczekiwania, interfejs zostanie zamrożony
Widząc komentarze w Internecie, nagle uświadomiłem sobie, że napisałem

Jest napisany w głównym wątku, który czekał na zakończenie wszystkich zadań, co skutkowało wejściem interfejsu w stan zawieszonej animacji

Rozwiązanie jest następujące:

Zawij wątek poza wątkiem, rozwiąż!




Poprzedni:Weryfikacja podpisów uniwersalnych WebAPI (2)
Następny:Usługa SMS Alibaba Cloud wysyła promocyjne wiadomości SMS w partiach
Opublikowano 01.12.2022 15:02:09 |
Teraz mam ten sam problem, podwątek się zacina, gdy blokuje się z task.waitall po uruchomieniu.
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com