Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Programowanie wątkowe i asynchroniczne umożliwia aplikacji wykonywanie asynchronicznej pracy w równoległych wątkach.
Aplikacja może używać puli wątków do asynchronicznego wykonywania zadań w równoległych wątkach. Pula wątków zarządza zestawem wątków i używa kolejki do przypisywania elementów roboczych do wątków, gdy tylko stają się one dostępne. Pula wątków jest podobna do asynchronicznych wzorców programowania dostępnych w środowisku uruchomieniowym systemu Windows, ponieważ może służyć do wykonywania rozszerzonej pracy bez blokowania interfejsu użytkownika, ale pula wątków oferuje większą kontrolę niż wzorce programowania asynchronicznego i można jej używać do równoległego wykonywania wielu elementów roboczych. Pulę wątków można użyć do:
Przesyłanie elementów roboczych, kontrolowanie ich priorytetu i anulowanie elementów roboczych.
Planowanie elementów roboczych przy użyciu czasomierzy i okresowych czasomierzy.
Przeznacz zasoby na kluczowe zadania.
Uruchom elementy robocze w odpowiedzi na nazwane zdarzenia i semafory.
Pula wątków jest wydajniejsza w zarządzaniu wątkami, ponieważ zmniejsza obciążenie związane z tworzeniem i niszczeniem wątków. Oznacza to, że ma dostęp do optymalizacji wątków na wielu rdzeniach procesora CPU i może równoważyć zasoby wątków między aplikacjami a uruchamianiem zadań w tle. Korzystanie z wbudowanej puli wątków jest wygodne, ponieważ koncentrujesz się na pisaniu kodu, który wykonuje zadanie zamiast mechaniki zarządzania wątkami.
Temat | Opis |
---|---|
|
W tym temacie opisano programowanie asynchroniczne na platformie uniwersalnej systemu Windows (UWP) i jego reprezentację w języku C#, microsoft Visual Basic .NET, rozszerzenia składników Visual C++ (C++/CX) i JavaScript. |
programowanie asynchroniczne w języku C++/CX (aplikacje platformy UWP) | W tym artykule opisano zalecany sposób używania metod asynchronicznych w języku C++/CX przy użyciu klasy task zdefiniowanej w przestrzeni nazw concurrency w pliku ppltasks.h. |
Najlepsze rozwiązania dotyczące korzystania z puli wątków | W tym temacie opisano najlepsze rozwiązania dotyczące pracy z pulą wątków. |
Wywoływanie asynchronicznych interfejsów API w języku C# lub Visual Basic | Platforma uniwersalna systemu Windows (UWP) zawiera wiele asynchronicznych interfejsów API w celu zapewnienia, że aplikacja będzie reagować, gdy działa, co może zająć dłuższy czas. W tym temacie omówiono sposób używania metod asynchronicznych z platformy UWP w języku C# lub Microsoft Visual Basic. |
Tworzenie okresowego elementu roboczego | Dowiedz się, jak utworzyć element roboczy, który jest powtarzany okresowo. |
Prześlij element roboczy do puli wątków | Dowiedz się, jak pracować w osobnym wątku, przesyłając element roboczy do puli wątków. |
Przesyłanie elementu roboczego za pomocą czasomierza | Dowiedz się, jak utworzyć element roboczy uruchamiany po upływie czasomierza. |