Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 23927|Válasz: 2

[Forrás] C# megvalósítja a folyamatmemória leképező fájlmegosztási memóriát

[Linket másol]
Közzétéve 2017. 10. 07. 18:51:10 | | |
A memória leképező fájlok virtuális memóriát használnak a fájlok áttérképezésére a folyamat címteréhez, majd a folyamat ugyanúgy manipulálja a fájlt, mint a folyamattérben lévő címet, például memcpy és más memóriaműveleti függvények használatával a C nyelven. Ez a módszer jól alkalmazható olyan helyzetekben, amikor egy fájlt vagy egy nagy fájlt gyakran kell feldolgozni, és az IO feldolgozási hatékonysága magasabb, mint a hagyományos IO-é
A megosztott memória a memória által leképezett fájlok speciális esete, amelyek egy memóriadarabot térképeznek fel a lemezen lévő fájl helyett. A megosztott memória témája a folyamat, és az operációs rendszer alapértelmezetten minden folyamat számára külön memóriateret oszt ki, és minden folyamat csak az operációs rendszer által kijelölt memóriadarabhoz hozzáférhet, más folyamatokhoz nem. És néha ugyanazt a memóriát kell elérni különböző folyamatok között, mit kell tenned? Az operációs rendszer API-t biztosít a megosztott memóriához való hozzáféréshez, és azok a folyamatok, amelyeknek memóriát kell megosztaniuk, hozzáférhetnek a több folyamat által megosztott memóriához ezen a definiált API-készleten keresztül, és minden folyamat úgy éri el ezt a memóriát, mintha egy merevlemezen lévő fájlhoz nyúlna. A .Net 4.0 vezeti be a System.IO. MemoryMappedFiles névtér, amely a Windows Shared Memory API-kat foglalja magában, megkönnyítve a .Net programozók számára a memória leképezési fájlok használatát.
Használj megosztott memóriát C#-ban. A következő App1 kód lehetővé teszi a felhasználó számára, hogy egy sor szöveget beírjon a megosztott memóriába; Az App2 folyamatosan frissíti a konzolt, és a legfrissebb megosztott memóriatartalmat adja ki; Az App3 ugyanazokat a funkciókat valósítja meg, mint az App2, de az olvasási módszer eltérő.

Két módszert alkalmaztak az adatok olvasására.
Mivel korábban ritkán használták a folyamatok közötti kommunikációt, ez a módszer csak előzetes megértés. A program túl kezdetleges, és sok mindent nem ítélnek meg. Például, hogyan lehet megosztott memóriát létrehozni, hogyan lehet visszanyerni és törölni, stb.




Előző:.net/c# CryptoJS aes titkosított forráskód
Következő:activemq Állandó tároló tele van
 Háziúr| Közzétéve 2025. 10. 03. 16:10:57 |
A .NET/C# programprogramot valósít meg a Mutex és a MemoryMappedFile alapján
https://www.itsvse.com/thread-10808-1-1.html

A .NET/C# szülő-gyermek folyamatok a MemoryMappedFile segítségével kommunikálnak
https://www.itsvse.com/thread-10983-1-1.html
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com