Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de Gelijktijdigheidsruntime voor C++ kunt u robuuste, schaalbare en responsieve parallelle toepassingen schrijven. Het verhoogt het abstractieniveau, zodat u de infrastructuurdetails die betrekking hebben op gelijktijdigheid niet hoeft te beheren. U kunt het ook gebruiken om planningsbeleid op te geven dat voldoet aan de servicevereisten van uw toepassingen. Gebruik deze bronnen zodat u kunt beginnen met werken met de Concurrency Runtime.
Zie Naslaginformatie voor referentiedocumentatie.
Aanbeveling
De Gelijktijdigheidsruntime is sterk afhankelijk van C++11-functies en neemt de modernere C++-stijl aan. Lees Welkom terug naar C++voor meer informatie.
Gelijktijdigheidsruntime-functies kiezen
| Artikel | Beschrijving |
|---|---|
| Overzicht | Leert waarom de Gelijktijdigheidsruntime belangrijk is en beschrijft de belangrijkste functies. |
| Vergelijking met andere gelijktijdigheidsmodellen | Hier ziet u hoe concurrency Runtime zich verhoudt tot andere gelijktijdigheidsmodellen, zoals de Windows-threadgroep en OpenMP, zodat u het gelijktijdigheidsmodel kunt gebruiken dat het beste past bij uw toepassingsvereisten. |
| Migreren van OpenMP naar de Gelijktijdigheidsruntime | Vergelijkt OpenMP met de Gelijktijdigheidsruntime en biedt voorbeelden van het migreren van bestaande OpenMP-code om de Gelijktijdigheidsruntime te gebruiken. |
| Bibliotheek met parallelle patronen (PPL) | Maakt u kennis met PPL, die parallelle lussen, taken en parallelle containers biedt. |
| Bibliotheek met asynchrone agents | Introduceert u hoe u asynchrone agents en berichten kunt gebruiken om eenvoudig gegevensstroom- en pipeliningtaken in uw toepassingen te integreren. |
| Taakplanner | Hiermee maakt u kennis met de Task Scheduler, waarmee u de prestaties van uw desktop-apps kunt verfijnen die gebruikmaken van de Gelijktijdigheidsruntime. |
Taakparallellisme in de PPL
| Artikel | Beschrijving |
|---|---|
|
Parallelle uitvoering van taken Procedure: parallel_invoke gebruiken om een parallelle sorteerroutine te schrijven Procedure: parallel_invoke gebruiken om parallelle bewerkingen uit te voeren Procedure: Een taak maken die na een vertraging wordt voltooid |
Beschrijft taken en taakgroepen, waarmee u asynchrone code kunt schrijven en parallel werk in kleinere delen kunt opdelen. |
| Stapsgewijze handleiding: Futures implementeren | Demonstreert hoe u de functies van Concurrency Runtime combineert om meer te bereiken. |
| Doorloop: Werk verwijderen uit een User-Interface thread | Laat zien hoe u het werk dat wordt uitgevoerd door de UI-draad in een MFC-toepassing naar een worker thread verplaatst. |
|
Aanbevolen procedures in de Parallelle Patronen Bibliotheek Algemene aanbevolen procedures in de Gelijktijdigheidsruntime |
Biedt tips en aanbevolen procedures voor het werken met de PPL. |
Gegevensparallellisme in de PPL
| Artikel | Beschrijving |
|---|---|
|
Parallelle algoritmen Procedure: Een parallel_for-lus schrijven Procedure: Een parallel_for_each-lus schrijven Hoe kaart- en reduceerbewerkingen parallel uitvoeren |
Beschrijft parallel_for, parallel_for_eachen parallel_invokeandere parallelle algoritmen. Gebruik parallelle algoritmen om parallelle problemen met gegevens op te lossen die betrekking hebben op verzamelingen gegevens. |
|
parallelle containers en objecten Procedure: Parallelle containers gebruiken om de efficiëntie te verhogen Procedure: Combineerbaar gebruiken om de prestaties te verbeteren Hoe: Combinerend gebruiken om sets te combineren |
Beschrijft de combinable klasse, evenals concurrent_vector, concurrent_queueen concurrent_unordered_mapandere parallelle containers. Gebruik parallelle containers en objecten wanneer u containers nodig hebt die thread-veilige toegang tot hun elementen bieden. |
|
Aanbevolen procedures in de Parallelle Patronen Bibliotheek Algemene aanbevolen procedures in de Gelijktijdigheidsruntime |
Biedt tips en aanbevolen procedures voor het werken met de PPL. |
Annuleren van taken en parallelle algoritmen
| Artikel | Beschrijving |
|---|---|
| Annulering in de PPL | Beschrijft de rol van annulering in de PPL, waaronder het initiëren en reageren op annuleringsaanvragen. |
|
Procedure: Annulering gebruiken om een parallelle lus te verbreken Procedure: Uitzonderingsafhandeling gebruiken om te breken van een parallelle lus |
Demonstreert twee manieren om gegevensparallel werk te annuleren. |
Apps voor het Universal Windows Platform
| Artikel | Beschrijving |
|---|---|
| Asynchrone bewerkingen maken in C++ voor UWP-apps | Hierin worden enkele van de belangrijkste punten beschreven die u moet onthouden wanneer u de Gelijktijdigheidsruntime gebruikt om asynchrone bewerkingen te produceren in een UWP-app. |
| Overzicht: verbinding maken met behulp van taken en XML HTTP-aanvragen | Laat zien hoe u PPL-taken combineert met de IXMLHTTPRequest2 en IXMLHTTPRequest2Callback interfaces om HTTP GET- en POST-aanvragen naar een webservice in een UWP-app te verzenden. |
| Voorbeelden van Windows Runtime-apps | Bevat downloadbare codevoorbeelden en demo-apps voor Windows Runtime. |
Gegevensstroomprogrammering in de bibliotheek met Asynchrone agents
Afhandeling en foutopsporing van uitzonderingen
| Artikel | Beschrijving |
|---|---|
| afhandeling van uitzonderingen | Hierin wordt beschreven hoe te werken met uitzonderingen in de Concurrency Runtime. |
| Parallelle diagnostische hulpprogramma's | U leert hoe u uw toepassingen nauwkeurig kunt afstemmen en hoe u de gelijktijdigheidsruntime het meest effectief kunt gebruiken. |
Prestatiesoptimalisatie afstemmen
| Artikel | Beschrijving |
|---|---|
| Parallelle diagnostische hulpprogramma's | U leert hoe u uw toepassingen nauwkeurig kunt afstemmen en hoe u de gelijktijdigheidsruntime het meest effectief kunt gebruiken. |
|
Schedulerinstanties Stappenplan: Een Scheduler-exemplaar beheren Scheduler-beleid Procedure: Specifieke scheduler-beleidsregels opgeven Procedure: Agents maken die gebruikmaken van specifiek scheduler-beleid |
Laat zien hoe u kunt werken met en beheren van scheduler-exemplaren en scheduler-beleid. Voor desktop-apps kunt u met scheduler-beleid specifieke regels koppelen aan specifieke typen workloads. U kunt bijvoorbeeld één scheduler-exemplaar maken om bepaalde taken uit te voeren met een verhoogde threadprioriteit en de standaardplanner gebruiken om andere taken uit te voeren op de normale threadprioriteit. |
|
Groepen plannen Procedure: Planningsgroepen gebruiken om de volgorde van uitvoering te beïnvloeden |
Demonstreert hoe u planningsgroepen gebruikt om gerelateerde taken samen te affinitiseren of groeperen. U hebt bijvoorbeeld een hoge mate van lokaliteit tussen gerelateerde taken nodig wanneer deze taken profiteren van het uitvoeren op hetzelfde processorknooppunt. |
| Lichtgewicht taken | Hierin wordt uitgelegd hoe lichtgewicht taken nuttig zijn voor het maken van werk waarvoor geen taakverdeling of annulering is vereist en hoe ze ook handig zijn voor het aanpassen van bestaande code voor gebruik met de Gelijktijdigheidsruntime. |
|
Contexten Procedure: De contextklasse gebruiken om een coöperatieve semafore te implementeren Hoe te: Oversubscription gebruiken om latentie te compenseren |
Hierin wordt beschreven hoe u het gedrag bepaalt van de threads die worden beheerd door de Gelijktijdigheidsruntime. |
|
geheugenbeheerfuncties Hoe te: Alloc en Free gebruiken om de geheugenprestaties te verbeteren |
Beschrijft de geheugenbeheerfuncties die de Gelijktijdigheidsruntime biedt om u te helpen bij het toewijzen en vrijmaken van geheugen op een gelijktijdige manier. |
Aanvullende informatiebronnen
| Artikel | Beschrijving |
|---|---|
| Asynchrone programmeerpatronen en tips in Hilo (Windows Store-apps met C++ en XAML) | Meer informatie over hoe we gelijktijdigheidsruntime hebben gebruikt voor het implementeren van asynchrone bewerkingen in Hilo, een Windows Runtime-app met behulp van C++ en XAML. |
| Parallel programmeren in systeemeigen codeblog | Bevat aanvullende uitgebreide blogartikelen over parallelle programmering in de Gelijktijdigheidsruntime. |
| Parallel computing in C++ en systeemeigen codeforum | Hiermee kunt u deelnemen aan community-discussies over de runtime voor gelijktijdigheid. |
| Parallel programmeren | U leert over het parallelle programmeermodel dat beschikbaar is in .NET Framework. |