Megosztás a következőn keresztül:


Egyidejűségi futtatókörnyezet

A C++ egyidejűségi futtatókörnyezete segít robusztus, méretezhető és rugalmas párhuzamos alkalmazások írásában. Növeli az absztrakció szintjét, hogy ne kelljen kezelnie az egyidejűséggel kapcsolatos infrastruktúra-részleteket. Emellett olyan ütemezési szabályzatokat is megadhat, amelyek megfelelnek az alkalmazások szolgáltatási igényeinek. Ezekkel az erőforrásokkal megkezdheti az egyidejűségi futtatókörnyezet használatát.

A referenciadokumentációt lásd: Referencia.

Jótanács

Az egyidejűségi futtatókörnyezet nagymértékben támaszkodik a C++11 funkciókra, és a modernebb C++ stílust alkalmazza. További információkért olvassa el a Welcome Back to C++ (Üdvözli a C++-hoz) című cikket.

Az egyidejűségi futtatókörnyezet szolgáltatásainak kiválasztása

Cikk Leírás
Áttekintés Bemutatja, hogy miért fontos az egyidejűségi futtatókörnyezet, és ismerteti annak főbb funkcióit.
Összehasonlítás más egyidejűségi modellekkel Bemutatja, hogyan hasonlítja össze az egyidejűségi futtatókörnyezet más egyidejűségi modelleket, például a Windows-szálkészletet és az OpenMP-t, hogy az alkalmazás követelményeinek leginkább megfelelő egyidejűségi modellt használhassa.
Migrálás az OpenMP-ről az egyidejűségi futtatókörnyezetbe Összehasonlítja az OpenMP-et az egyidejűségi futtatókörnyezetgel, és példákat nyújt arra, hogyan migrálható a meglévő OpenMP-kód az egyidejűségi futtatókörnyezet használatára.
Párhuzamos minták kódtára (PPL) Bemutatja a PPL-t, amely párhuzamos hurkokat, feladatokat és párhuzamos tárolókat biztosít.
Aszinkron ügynökök könyvtára Bemutatja, hogyan használhat aszinkron ügynököket és üzenetátadást, hogy egyszerűen beépítse az adatfolyamokat és a pipelining feladatokat az alkalmazásokba.
Feladatütemező Bemutatja a Feladatütemezőt, amely lehetővé teszi az egyidejűségi futtatókörnyezetet használó asztali alkalmazások teljesítményének finomhangolását.

Feladat-párhuzamosság a PPL-ben

Cikk Leírás
Feladat-párhuzamosság

Útmutató: Párhuzamos rendezési rutin írása parallel_invoke használatával

Útmutató: Párhuzamos műveletek végrehajtása parallel_invoke használatával

Útmutató: Késés után befejezett feladat létrehozása
A tevékenységek és tevékenységcsoportok leírása, amelyek segítségével aszinkron kódot írhat, és a párhuzamos munka kisebb részekre bontható.
Útmutató: Futures implementálása Bemutatja, hogyan kombinálhatja a Concurrency Runtime funkcióit további műveletekhez.
Útmutató: Hogyan távolítsuk el a munkát egy User-Interface szálból Bemutatja, hogyan helyezheti át az MFC-alkalmazások felhasználói felületi szála által végzett munkát egy feldolgozói szálra.
Ajánlott eljárások a párhuzamos minták könyvtárában

Általános ajánlott eljárások az egyidejűségi futtatókörnyezetben
Tippeket és ajánlott eljárásokat kínál a PPL használatához.

Adat-párhuzamosság a PPL-ben

Cikk Leírás
Párhuzamos algoritmusok

Útmutató: parallel_for ciklus írása

Hogyan írjunk parallel_for_each ciklust

Útmutató: Térkép- és csökkentési műveletek végrehajtása párhuzamosan
Ez a cikk ismerteti a parallel_for, parallel_for_each, parallel_invoke és más párhuzamos algoritmusokat. Párhuzamos algoritmusok használatával megoldhatja az adat-párhuzamos problémákat, amelyek adatgyűjteményeket foglalnak magukban.
párhuzamos tárolók és objektumok

Útmutató: Párhuzamos tárolók használata a hatékonyság növeléséhez

Útmutató: Kombinálható eszközök használata a teljesítmény javítása érdekében

Útmutató: Kombinálható készletek kombinálása
Az combinable osztályt, valamint concurrent_vector, concurrent_queue, concurrent_unordered_map és más párhuzamos tárolókat ismerteti. Párhuzamos tárolókat és objektumokat akkor használjon, ha olyan tárolókra van szükség, amelyek szálbiztos hozzáférést biztosítanak az elemeikhez.
Ajánlott eljárások a párhuzamos minták könyvtárában

Általános ajánlott eljárások az egyidejűségi futtatókörnyezetben
Tippeket és ajánlott eljárásokat kínál a PPL használatához.

Feladatok és párhuzamos algoritmusok megszakítása

Cikk Leírás
Lemondás a PPL-ben A lemondás szerepét ismerteti a PPL-ben, beleértve a lemondási kérelmek kezdeményezésének és megválaszolásának módját.
Útmutató: Hogyan használjuk a feladat lemondását egy párhuzamos ciklus megszakításához

Hogyan lehet kivételkezeléssel megszakítani egy párhuzamos ciklust
Két módszert mutat be az adat-párhuzamos munka megszakítására.

Univerzális Windows Platform-alkalmazások

Cikk Leírás
Aszinkron műveletek létrehozása C++ nyelven UWP-alkalmazásokhoz Néhány fontos szempontot ismertet, amelyet szem előtt kell tartani, amikor az egyidejűségi futtatókörnyezettel aszinkron műveleteket hoz létre egy UWP-alkalmazásban.
Útmutató: Csatlakozás feladatok és XML HTTP-kérések használatával Bemutatja, hogyan kombinálhatja a PPL-feladatokat a IXMLHTTPRequest2 és IXMLHTTPRequest2Callback felületeikkel, hogy HTTP GET és POST kéréseket küldjön egy webszolgáltatásba egy UWP-alkalmazásban.
Windows-futtatókörnyezeti alkalmazásminták Letölthető kódmintákat és demóalkalmazásokat tartalmaz a Windows Runtime-hoz.

Adatfolyam-programozás az aszinkron ügynökök könyvtárában

Cikk Leírás
Aszinkron ügynökök

Aszinkron üzenetblokkok

Üzenetátadási függvények

Útmutató: Különböző Producer-Consumer minták implementálása

Útmutató: Munkahelyi függvények biztosítása a hívási és transzformátorosztályok számára

Útmutató: Transzformátor használata adatfolyamban

Útmutató: Kiválasztás a befejezett tevékenységek között

Útmutató: Üzenet küldése rendszeres időközönként

Útmutató: Üzenetblokkszűrő használata
Az aszinkron ügynököket, üzenetblokkokat és üzenetátadási függvényeket ismerteti, amelyek az adatfolyam-műveletek concurrency runtime-ban történő végrehajtásának építőelemei.
Útmutató: Agent-Based-alkalmazás létrehozása

Útmutató: Adatfolyam-ügynök létrehozása
Bemutatja, hogyan hozhat létre alapszintű ügynökalapú alkalmazásokat.
Útmutató: Image-Processing-hálózat létrehozása A képfeldolgozást végző aszinkron üzenetblokkok hálózatának létrehozását mutatja be.
Útmutató: Join használata a holtpont megelőzéséhez Az étkező filozófusok problémájával szemlélteti, hogyan használható az egyidejűségi futtatókörnyezet az alkalmazás holtpontjának megelőzésére.
Útmutató: Egyéni üzenetblokk létrehozása Bemutatja, hogyan hozhat létre egyéni üzenetblokktípust, amely prioritás szerint rendeli meg a bejövő üzeneteket.
Legjobb gyakorlatok az aszinkron ügynökök könyvtárában

Általános ajánlott eljárások az egyidejűségi futtatókörnyezetben
Tippeket és ajánlott eljárásokat kínál az ügynökökkel való munkához.

Kivételkezelés és hibakeresés

Cikk Leírás
Kivételkezelés Ismerteti, hogyan használható a kivételek az egyidejűségi futtatókörnyezetben.
Párhuzamos diagnosztikai eszközök Bemutatja, hogyan finomhangolhatja az alkalmazásokat, és hogyan használhatja a leghatékonyabban az egyidejűségi futtatókörnyezetet.

Teljesítmény finomhangolása

Cikk Leírás
Párhuzamos diagnosztikai eszközök Bemutatja, hogyan finomhangolhatja az alkalmazásokat, és hogyan használhatja a leghatékonyabban az egyidejűségi futtatókörnyezetet.
Ütemezőpéldányok

Hogyan kell: Ütemezőpéldányt kezelni

Ütemezési Szabályzatok

Útmutató: Adott ütemezőszabályzatok megadása

Útmutató: Adott ütemezőszabályzatokat használó ügynökök létrehozása
Bemutatja, hogyan működjön együtt az ütemezőpéldányokkal és ütemezési házirendekkel. Asztali alkalmazások esetén az ütemezőszabályzatok lehetővé teszik bizonyos szabályok adott típusú számítási feladatokhoz való társítását. Létrehozhat például egy ütemezőpéldányt, amellyel bizonyos feladatokat emelt szintű szálprioritáson futtathat, és az alapértelmezett ütemező használatával futtathat más feladatokat a normál szálprioritáson.
Csoportok ütemezése

Útmutató: Ütemezési csoportok használata a végrehajtási sorrend befolyásolására
Bemutatja, hogyan használhatja az ütemezési csoportokat a kapcsolódó tevékenységek összekapcsolására vagy csoportosítására. Előfordulhat például, hogy a kapcsolódó tevékenységek között magas fokú helyi közelítést igényel, ha ezek a tevékenységek ugyanazon processzorcsomóponton történő végrehajtásból profitálnak.
Egyszerűsített feladatok Ismerteti, hogy az egyszerűsített feladatok milyen hasznosak olyan munka létrehozásához, amely nem igényel terheléselosztást vagy -törlést, és hogyan használhatók a meglévő kódnak az egyidejűségi futtatókörnyezettel való használatához való módosításához.
Környezetben

Útmutató: A Context osztály használata a kooperatív szemafor implementálásához

Útmutató: Túl előfizetés használata a késleltetés csökkentéséhez
Ismerteti, hogyan szabályozható az egyidejűségi futtatókörnyezet által felügyelt szálak viselkedése.
memóriakezelési függvények

Útmutató: Az Alloc és a Free használata a memória teljesítményének javításához
Az egyidejűségi futtatókörnyezet által biztosított memóriakezelési függvényeket ismerteti, amelyekkel egyidejűleg lefoglalhatja és felszabadíthatja a memóriát.

További források

Cikk Leírás
Aszinkron programozási minták és tippek a Hilo-ban (Windows Áruházbeli alkalmazások C++ és XAML használatával) Megtudhatja, hogyan használtuk az egyidejűségi futtatókörnyezetet az aszinkron műveletek implementálásához a Hilo-ban, egy Windows-futtatókörnyezeti alkalmazásban C++ és XAML használatával.
Párhuzamos programozás natív kódban blog További részletes blogcikkeket tartalmaz a párhuzamos programozásról az egyidejűségi futtatókörnyezetben.
Párhuzamos számítástechnika a C++ és a natív kód fórumában Lehetővé teszi, hogy részt vegyen az egyidejűségi futtatókörnyezettel kapcsolatos közösségi vitákban.
Párhuzamos programozás Bemutatja a .NET-keretrendszerben elérhető párhuzamos programozási modellt.

Lásd még

Utalás