Minnemapping-filer bruker virtuelt minne for å mappe filer til prosessens adresseområde, hvoretter prosessen manipulerer filen på samme måte som adressen i prosessrommet, for eksempel ved bruk av memcpy og andre minneoperasjonsfunksjoner i C-språket. Denne metoden kan brukes godt i situasjoner der en fil eller en stor fil må behandles ofte, og IO-prosesseringseffektiviteten er høyere enn for vanlig IO Delt minne er et spesialtilfelle av minnemappede filer, som mapper et minnestykke i stedet for en fil på disk. Temaet delt minne er Prosess, og operativsystemet tildeler et minneområde til hver prosess som standard, og hver prosess har kun tilgang til en minnebit tildelt av operativsystemet, men ikke til andre prosesser. Og noen ganger må du få tilgang til samme minnebit mellom forskjellige prosesser, hva bør du gjøre? Operativsystemet tilbyr et API for å opprette tilgang til delt minne, og prosesser som trenger å dele minne kan få tilgang til minnet som deles av flere prosesser gjennom dette settet med definerte API-er, og hver prosess får tilgang til dette minnet som om den hadde tilgang til en fil på en harddisk. .Net 4.0 introduserer System.IO. MemoryMappedFiles-navnerommet, en klasse som kapsler inn Windows Shared Memory-relaterte API-er, noe som gjør det enklere for .Net-programmerere å bruke minnemappingfiler. Bruk delt minne i C#. Følgende kode for App1 lar brukeren taste inn en tekstlinje i delt minne; App2 oppdaterer konsollen kontinuerlig og sender ut det nyeste delte minneinnholdet; App3 implementerer de samme funksjonene som App2, men lesemetoden er annerledes.
To metoder ble brukt for å lese dataene. Siden kommunikasjon mellom prosesser sjelden ble brukt tidligere, er denne metoden bare en foreløpig forståelse. Programmet er for rudimentært, og det er mange ting som ikke blir dømt. For eksempel hvordan man oppretter et delt minne, hvordan man henter og sletter det, osv.
|