Net, párhuzamos programozás
Valószínűleg a .NET-keretrendszer 4.0 verziójában bevezetett új eszközök közül a legfontosabb feladat a párhuzamosító könyvtár (TPL). Ez a könyvtár két fő módszerrel javítja a többszálas programozást. Először is, egyszerűsíti számos szál létrehozását és használatát. És másodsorban lehetővé teszi több processzor használatát. Más szóval, a TPL lehetővé teszi az alkalmazások automatikus skálázását annak érdekében, hogy számos elérhető processzort hatékonyan használjon.
A TPL könyvtár ezen két jellemzője miatt a legtöbb esetben a többszálas feldolgozáshoz ajánlott.
Egy másik párhuzamos programozási eszköz, amelyet a .NET-keretrendszer 4.0-s verziója vezet be, az integrált lekérdezések (PLINQ) párhuzamos nyelve. A PLINQ nyelv lehetővé teszi a lekérdezések összeállítását, amelyekhez több processzor automatikusan kerül felhasználásra, és adott esetben a párhuzamosság elve.
Amint az az alábbiakból világossá válik, a lekérdezés párhuzamos feldolgozása nagyon egyszerű. Ezért a PLINQ használatával könnyen beilleszthet párhuzamot a lekérdezésbe.
Az olyan fontos újítások megjelenésének fő oka, mint a TPL és a PLINQ, az a párhuzamosság fontossága a modern programozásban. Jelenleg többmagos processzorok már közös jelenséggé váltak. Ráadásul növekvő igény van a program termelékenységének növelésére. Mindez viszont egyre növekvő igényt támasztott egy olyan mechanizmushoz, amely lehetővé tenné a többféle eljárás használatát a szoftver teljesítményének javítása érdekében.
De az a tény, hogy a múltban nem volt olyan egyszerű, hogy világos és méretezhető módon. Igazából változtassa meg ezt a rendelkezést, és hívja a TPL-t és a PLINQ-ot. Végül is megkönnyítik (és biztonságosabbá teszik a rendszer erőforrásainak használatát).
A TPL könyvtárat a System.Threading.Tasks névtér határozza meg. De ahhoz, hogy együttműködjenek vele, rendszerint be kell vonni a System.Threading osztályt a programba, mert támogatja a szinkronizálást és a multithreading egyéb eszközeit, beleértve azokat is, amelyek az összekapcsolt osztály részei.
Noha a TPL és a PLINQ használatát most a többszálú alkalmazások fejlesztésére ajánlották, a Thread osztályon alapuló menetes feldolgozás megszervezése javasolt. még mindig széles körben terjed.
A TPL használatával a párhuzamosságot kétféle módon lehet bevezetni a programba. Ezek közül az elsőnek nevezik az adatok párhuzamosságát. Ezzel a megközelítéssel egy művelet egy adatkészlet felett két párhuzamos szálra vagy többre osztható, amelyek mindegyike egy adatdarabot feldolgoz. Tehát, ha a tömb egyes elemei megváltoznak, akkor az adatok párhuzamosságának alkalmazásával párhuzamos feldolgozást végezhetnek a tömb különböző területein két vagy több szálon. Nem nehéz kitalálni, hogy az ilyen párhuzamos tevékenységek az adatfeldolgozás jelentős gyorsulásához vezethetnek egy sorozatos megközelítéshez képest.
Annak ellenére, hogy az adat párhuzamosság mindig lehetséges volt a Téma osztályával, a skálázható megoldások építése ezen osztály segítségével sok erőfeszítést és időt igényel. Ez a helyzet megváltozott a TPL könyvtár megjelenésével, amelyen keresztül a skálázható adatok párhuzamossága könnyen bevezethető a programba.
A párhuzamosságra való belépés másik módját a feladatok párhuzamosságának nevezik. Ezzel a megközelítéssel két vagy több műveletet hajtanak végre párhuzamosan. Ezért a feladatok párhuzamossága egyfajta párhuzamosság, amelyet a múltban az "Thread" segítségével sikerült elérni. És a TPL által ígért előnyök a könnyű használat és a képesség, hogy automatikusan kódolják a kódot több processzor számára.
A TPL könyvtár lehetővé teszi, hogy az alkalmazás terhelését automatikusan elosztsa a rendelkezésre álló processzorok között a CLR menetmedence használatával. A TPL könyvtár foglalkozik a munkamegosztással, az ütemtervezéssel, az állami irányítással és más alacsony szintű adatokkal. Ennek eredményeként lehetőség nyílik a .NET alkalmazások teljesítményének maximalizálására. nem kell foglalkoznia a szálakkal való közvetlen munkavégzés nehézségeivel. Az ábrán látható az új .NET 4.0 névtér tagjai: