Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 23927|Svare: 2

[Kilde] C# implementerer prosessminnekartlegging fildelingsminne

[Kopier lenke]
Publisert på 07.10.2017 18:51:10 | | |
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.




Foregående:.net/c# CryptoJS aes kryptert kildekode
Neste:activemq Persistent store er Full
 Vert| Publisert på 03.10.2025 16:10:57 |
.NET/C# implementerer programsingleton basert på Mutex og MemoryMappedFile
https://www.itsvse.com/thread-10808-1-1.html

.NET/C# foreldre-barn-prosesser kommuniserer ved hjelp av MemoryMappedFile
https://www.itsvse.com/thread-10983-1-1.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com