Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 23927|Atbildi: 2

[Avots] C# īsteno procesu atmiņas kartēšanas failu koplietošanas atmiņu

[Kopēt saiti]
Publicēts 07.10.2017 18:51:10 | | |
Atmiņas kartēšanas faili izmanto virtuālo atmiņu, lai kartētu failus uz procesa adrešu telpu, pēc tam process manipulē ar failu tāpat kā ar adresi procesa telpā, piemēram, izmantojot memcpy un citas atmiņas darbības funkcijas C valodā. Šo metodi var labi izmantot situācijās, kad fails vai liels fails ir jāapstrādā bieži, un IO apstrādes efektivitāte ir augstāka nekā parastajam IO
Koplietojamā atmiņa ir īpašs atmiņas kartēšanas failu gadījums, kas kartē atmiņas daļu, nevis failu diskā. Koplietojamās atmiņas priekšmets ir process, un operētājsistēma pēc noklusējuma katram procesam piešķir atmiņas vietu, un katram procesam ir atļauts piekļūt tikai operētājsistēmas piešķirtajai atmiņas daļai, bet ne citiem procesiem. Un dažreiz jums ir jāpiekļūst vienam un tam pašam atmiņas gabalam starp dažādiem procesiem, kas jums jādara? Operētājsistēma nodrošina API, lai izveidotu piekļuvi koplietojamai atmiņai, un procesi, kuriem nepieciešama koplietošanas atmiņa, var piekļūt atmiņai, ko koplieto vairāki procesi, izmantojot šo definēto API kopu, un katrs process piekļūst šai atmiņai tā, it kā tas piekļūtu failam cietajā diskā. .Net 4.0 iepazīstina ar System.IO. MemoryMappedFiles nosaukumvieta — klase, kas iekapsulē ar Windows koplietojamo atmiņu saistītos API, atvieglojot .Net programmētājiem atmiņas kartēšanas failu lietošanu.
Izmantojiet koplietojamo atmiņu C#. Šis App1 kods ļauj lietotājam ievadīt teksta rindiņu koplietojamajā atmiņā; App2 pastāvīgi atsvaidzina konsoli un izvada jaunāko koplietojamās atmiņas saturu; App3 īsteno tādas pašas funkcijas kā App2, bet lasīšanas metode ir atšķirīga.

Datu nolasīšanai tika izmantotas divas metodes.
Tā kā komunikācija starp procesiem iepriekš tika izmantota reti, šī metode ir tikai provizoriska izpratne. Programma ir pārāk rudimentāra, un ir daudzas lietas, kas netiek vērtētas. Piemēram, kā izveidot koplietojamu atmiņu, kā to izgūt un izdzēst utt.




Iepriekšējo:.net/c# CryptoJS aes šifrēts avota kods
Nākamo:activemq Pastāvīgais krātuve ir pilna
 Saimnieks| Publicēts 03.10.2025 16:10:57 |
.NET/C# ievieš programmu singleton, kas balstīta uz Mutex un MemoryMappedFile
https://www.itsvse.com/thread-10808-1-1.html

.NET/C# vecāku-bērnu procesi sazinās, izmantojot MemoryMappedFile
https://www.itsvse.com/thread-10983-1-1.html
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com