Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 23927|Svar: 2

[Kilde] C# implementerer proceshukommelsesmapping fildelingshukommelse

[Kopier link]
Opslået på 07/10/2017 18.51.10 | | |
Hukommelsesmapping-filer bruger virtuel hukommelse til at mappe filer til processens adresseområde, hvorefter processen manipulerer filen ligesom adressen i procesrummet, såsom ved brug af memcpy og andre hukommelsesoperationer i C-sproget. Denne metode kan bruges godt i situationer, hvor en fil eller en stor fil skal behandles ofte, og IO-behandlingseffektiviteten er højere end for almindelig IO
Delt hukommelse er et specialtilfælde af hukommelsesmappede filer, som kortlægger et stykke hukommelse i stedet for en fil på disk. Emnet for delt hukommelse er Proces, og operativsystemet tildeler som standard et hukommelsesområde til hver proces, og hver proces må kun tilgå et stykke hukommelse, der er tildelt det af operativsystemet, men ikke til andre processer. Og nogle gange skal man tilgå det samme hukommelsesstykke mellem forskellige processer, hvad skal man gøre? Operativsystemet leverer et API til at skabe adgang til delt hukommelse, og processer, der har brug for at dele hukommelse, kan få adgang til hukommelsen, der deles af flere processer gennem dette sæt definerede API'er, og hver proces tilgår denne hukommelse, som om den tilgik en fil på en harddisk. .Net 4.0 introducerer System.IO. MemoryMappedFiles-navnerum, en klasse der indkapsler Windows Shared Memory-relaterede API'er, hvilket gør det lettere for .Net-programmører at bruge hukommelsesmappingfiler.
Brug delt hukommelse i C#. Følgende kode til App1 lader brugeren indtaste en tekstlinje i delt hukommelse; App2 opdaterer konstant konsollen og leverer det nyeste delte hukommelsesindhold; App3 implementerer de samme funktioner som App2, men læsemetoden er anderledes.

To metoder blev brugt til at læse dataene.
Da kommunikation mellem processer sjældent blev brugt før, er denne metode kun en foreløbig forståelse. Programmet er for rudimentært, og der er mange ting, der ikke bliver bedømt. For eksempel hvordan man opretter et delt hukommelse, hvordan man henter og sletter det osv.




Tidligere:.net/c# CryptoJS aes krypteret kildekode
Næste:activemq Persistent store er Fuld
 Udlejer| Opslået på 03/10/2025 16.10.57 |
.NET/C# implementerer program singleton baseret på Mutex og MemoryMappedFile
https://www.itsvse.com/thread-10808-1-1.html

.NET/C# forældre-barn processer kommunikerer ved hjælp af MemoryMappedFile
https://www.itsvse.com/thread-10983-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com