Notatka
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.
Środowisko uruchomieniowe współbieżności dla języka C++ ułatwia pisanie niezawodnych, skalowalnych i responsywnych aplikacji równoległych. Zwiększa ona poziom abstrakcji, aby nie trzeba było zarządzać szczegółami infrastruktury, które są związane z współbieżnością. Można go również użyć do określania zasad planowania, które spełniają wymagania dotyczące jakości usług aplikacji. Użyj tych zasobów, aby pomóc ci rozpocząć pracę z Concurrency Runtime.
Aby uzyskać dokumentację referencyjną, zobacz Dokumentacja.
Wskazówka
Środowisko uruchomieniowe współbieżności opiera się w dużej mierze na funkcjach języka C++11 i przyjmuje bardziej nowoczesny styl języka C++. Aby dowiedzieć się więcej, przeczytaj Witamy z powrotem w języku C++.
Wybieranie funkcji współbieżnych środowiska wykonawczego
| Artykuł | opis |
|---|---|
| Omówienie | Wyjaśnia, dlaczego Concurrency Runtime jest ważny i opisuje jego kluczowe funkcje. |
| Porównanie z innymi modelami współbieżności | Pokazuje, jak środowisko uruchomieniowe współbieżności porównuje się z innymi modelami współbieżności, takimi jak pula wątków systemu Windows i OpenMP, dzięki czemu można użyć modelu współbieżności, który najlepiej pasuje do wymagań aplikacji. |
| Migrowanie z OpenMP do środowiska wykonawczego współbieżności | Porównuje OpenMP z Concurrency Runtime i zawiera przykłady dotyczące sposobu migrowania istniejącego kodu OpenMP, aby korzystać z Concurrency Runtime. |
| Biblioteka równoległych wzorców (PLL) | Wprowadza cię do PPL, który zapewnia pętle równoległe, zadania i kontenery równoległe. |
| Biblioteki agentów asynchronicznych | Przedstawia sposób używania agentów asynchronicznych i przekazywania komunikatów w celu łatwego dołączania przepływów danych i zadań potokowych w aplikacjach. |
| Harmonogram zadań | Wprowadzenie do harmonogramu zadań, który umożliwia dostosowanie wydajności aplikacji desktopowych korzystających ze środowiska Concurrency Runtime. |
Paralelizm zadań w PPL
| Artykuł | opis |
|---|---|
|
Równoległość zadań Instrukcje: używanie parallel_invoke do napisania procedury sortowania równoległego Instrukcje: korzystanie z parallel_invoke podczas przeprowadzania operacji równoległych Instrukcje: tworzenie zadania kończonego po opóźnieniu |
Opisuje zadania i grupy zadań, które mogą ułatwić pisanie kodu asynchronicznego i rozkładanie równoległych zadań na mniejsze elementy. |
| Przewodnik: wdrażanie przyszłych operacji | Pokazuje, jak połączyć funkcje środowiska uruchomieniowego współbieżności, aby zrobić coś więcej. |
| Przewodnik: usuwanie pracy z wątku Interfejsu użytkownika | Pokazuje, jak przenieść pracę wykonywaną przez wątek interfejsu użytkownika w aplikacji MFC do wątku roboczego. |
|
Biblioteka wzorów równoległych — najlepsze praktyki Najlepsze ogólne praktyki w środowisku uruchomieniowym współbieżności |
Zawiera porady i najlepsze rozwiązania dotyczące pracy z PPL. |
Równoległość danych w PPL
| Artykuł | opis |
|---|---|
|
Algorytmy równoległe Instrukcje: pisanie pętli parallel_for Instrukcje: pisanie pętli parallel_for_each Instrukcje: równoległe wykonywanie operacji mapowania i zmniejszania |
Opisuje parallel_for, , parallel_for_eachparallel_invokei inne algorytmy równoległe. Użyj algorytmów równoległych, aby rozwiązać problemy z równoległymi danymi, które obejmują zbieranie danych. |
|
Równoległe kontenery oraz obiekty Instrukcje: korzystanie z kontenerów równoległych do zwiększania wydajności Jak: używać combinable do poprawy wydajności Jak używać kombinatora do łączenia zestawów |
Opisuje klasę combinable , a także concurrent_vector, concurrent_queue, concurrent_unordered_mapi inne kontenery równoległe. Używaj kontenerów równoległych i obiektów, gdy potrzebujesz kontenerów zapewniających bezpieczny dostęp wątkowy do ich elementów. |
|
Biblioteka wzorów równoległych — najlepsze praktyki Najlepsze ogólne praktyki w środowisku uruchomieniowym współbieżności |
Zawiera porady i najlepsze rozwiązania dotyczące pracy z PPL. |
Anulowanie zadań i algorytmów równoległych
| Artykuł | opis |
|---|---|
| Anulowanie w PPL | Opisuje rolę anulowania w PPL, w tym sposób inicjowania żądań anulowania i reagowania na nie. |
|
Jak: użycie mechanizmu anulowania w celu przerwania pętli równoległej Jak zastosować obsługę wyjątków, aby zakończyć pętlę równoległą |
Demonstruje dwa sposoby anulowania zadania równoległego przetwarzania danych. |
aplikacje Universal Windows Platform
| Artykuł | opis |
|---|---|
| Tworzenie operacji asynchronicznych w języku C++ dla aplikacji platformy uniwersalnej systemu Windows | Opisuje niektóre kluczowe kwestie, które należy wziąć pod uwagę, gdy używasz środowiska uruchomieniowego współbieżności do tworzenia operacji asynchronicznych w aplikacji platformy UWP. |
| Przewodnik: łączenie za pomocą zadań i żądań XML HTTP | Przedstawia sposób łączenia zadań PPL z interfejsami IXMLHTTPRequest2 i IXMLHTTPRequest2Callback w celu wysyłania żądań HTTP GET i POST do usługi internetowej w aplikacji platformy UWP. |
| Przykłady aplikacji środowisko wykonawcze systemu Windows | Zawiera przykłady kodu do pobrania i aplikacje demonstracyjne dla środowisko wykonawcze systemu Windows. |
Programowanie przepływu danych w bibliotece agentów asynchronicznych
Obsługa wyjątków i debugowania
| Artykuł | opis |
|---|---|
| Obsługa wyjątków | Opisuje, jak pracować z wyjątkami w środowisku współbieżnego uruchamiania. |
| Równoległe narzędzia diagnostyczne | Uczy, jak optymalizować aplikacje i jak najefektywniej korzystać ze środowiska uruchomieniowego Concurrency. |
Dostrajanie wydajności
| Artykuł | opis |
|---|---|
| Równoległe narzędzia diagnostyczne | Uczy, jak dostosować aplikacje i jak najefektywniej korzystać ze środowiska wykonawczego współbieżności. |
|
Instancje harmonogramu Jak: zarządzać instancją harmonogramu Zasady harmonogramu Instrukcje: określanie specjalnych zasad harmonogramu Jak: Tworzyć agentów używających określonych zasad harmonogramu |
Pokazuje, jak zarządzać wystąpieniami harmonogramu i zasadami harmonogramu. W przypadku aplikacji klasycznych zasady harmonogramu umożliwiają kojarzenie określonych reguł z określonymi typami obciążeń. Można na przykład utworzyć jedno wystąpienie harmonogramu, aby uruchamiać niektóre zadania z podwyższonym priorytetem wątku i używać domyślnego harmonogramu do uruchamiania innych zadań z normalnym priorytetem wątku. |
|
Grupy planowania Instrukcje: używanie grup harmonogramu do wywierania wpływu na kolejność wykonywania |
Pokazuje, jak używać grup harmonogramu do łączenia lub grupowania powiązanych zadań. Na przykład może być wymagany wysoki stopień lokalności wśród powiązanych zadań, gdy zadania te korzystają z wykonywania na tym samym węźle procesora. |
| Zadania lekkie | Wyjaśnia, jak lekkie zadania są przydatne do tworzenia pracy, która nie wymaga równoważenia obciążenia ani anulowania, a także jak są one użyteczne do dostosowywania istniejącego kodu do użycia ze środowiskiem uruchomieniowym współbieżności. |
|
Konteksty Jak: używać Klasy Context do implementacji kooperatywnego semafora Instrukcje: używanie nadsubskrypcji do przesuwania opóźnienia |
Opisuje, jak kontrolować zachowanie wątków zarządzanych przez Concurrency Runtime. |
|
Funkcje zarządzania pamięcią Instrukcje: używanie z funkcji Alloc i Free do poprawiania wydajności pamięci |
Opisuje funkcje zarządzania pamięcią, które oferuje Concurrency Runtime, aby ułatwić współbieżne przydzielanie i zwalnianie pamięci. |
Dodatkowe zasoby
| Artykuł | opis |
|---|---|
| Wzorce i porady dotyczące programowania asynchronicznego w witrynie Hilo (aplikacje ze Sklepu Windows przy użyciu języka C++ i XAML) | Dowiedz się, jak używaliśmy środowiska uruchomieniowego Concurrency Runtime do implementowania operacji asynchronicznych w Hilo, aplikacji Windows Runtime przy użyciu języka C++ i XAML. |
| Blog o programowaniu równoległym w kodzie natywnym | Zawiera dodatkowe, szczegółowe artykuły na blogu dotyczące programowania równoległego w Concurrency Runtime. |
| Forum przetwarzania równoległego w języku C++ i natywnym kodzie | Umożliwia uczestnictwo w dyskusjach społeczności dotyczących środowiska uruchomieniowego współbieżności. |
| Programowanie równoległe | Uczy cię o modelu programowania równoległego, który jest dostępny w programie .NET Framework. |