See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 23927|Vastuse: 2

[Allikas] C# rakendab protsessimälu kaardistamise failijagamise mälu

[Kopeeri link]
Postitatud 07.10.2017 18:51:10 | | |
Mälukaardistamisfailid kasutavad virtuaalmälu, et kaardistada faile protsessi aadressiruumiga, mille järel protsess manipuleerib faili samamoodi nagu protsessiruumi aadressiga, näiteks kasutades memcpy ja muid mälutoimingute funktsioone C keeles. Seda meetodit saab hästi kasutada olukordades, kus faili või suurt faili tuleb sageli töödelda ning IO töötlemise efektiivsus on kõrgem kui tavalisel IO-l
Jagatud mälu on mälukaardistatud failide erandjuhtum, mis kaardistavad mälutüki faili asemel kettal. Jagatud mälu teemaks on protsess ning operatsioonisüsteem eraldab vaikimisi igale protsessile mäluruumi ning iga protsess pääseb ligi ainult operatsioonisüsteemi poolt eraldatud mälule, kuid mitte teistele protsessidele. Ja mõnikord on vaja kasutada sama mälutükki erinevate protsesside vahel, mida peaksid tegema? Operatsioonisüsteem pakub API-d jagatud mälu ligipääsu loomiseks ning protsessid, mis vajavad mälu jagamist, saavad selle määratletud API-de komplekti kaudu ligi mitme protsessi jagatud mälule ning iga protsess pääseb sellele mälule ligi nagu failile kõvakettal. .Net 4.0 tutvustab System.IO. MemoryMappedFiles nimeruum, klass, mis kapseldab Windowsi jagatud mäluga seotud API-sid, muutes .Net programmeerijatel mälukaardistamisfailide kasutamise lihtsamaks.
Kasuta C#-s jagatud mälu. Järgmine kood App1 jaoks võimaldab kasutajal sisestada tekstirea jagatud mällu; App2 värskendab pidevalt konsooli ja väljastab viimast jagatud mälu sisu; App3 täidab samu funktsioone nagu App2, kuid lugemismeetod on erinev.

Andmete lugemiseks kasutati kahte meetodit.
Kuna protsessidevahelist suhtlust kasutati varem harva, on see meetod vaid esialgne arusaam. Programm on liiga algeline ja on palju asju, mida ei hinnata. Näiteks kuidas luua jagatud mälu, kuidas seda taastada ja kustutada jne.




Eelmine:.net/c# CryptoJS aes krüpteeritud lähtekood
Järgmine:activemq Püsiv pood on täis
 Üürileandja| Postitatud 03.10.2025 16:10:57 |
.NET/C# rakendab programmi singleton, mis põhineb Mutexil ja MemoryMappedFile'il
https://www.itsvse.com/thread-10808-1-1.html

.NET/C# vanem-laps protsessid suhtlevad MemoryMappedFile abil
https://www.itsvse.com/thread-10983-1-1.html
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com