File pemetaan memori menggunakan memori virtual untuk memetakan file ke ruang alamat proses, setelah itu proses memanipulasi file seperti alamat di ruang proses, seperti menggunakan memcpy dan fungsi operasi memori lainnya dalam bahasa C. Metode ini dapat digunakan dengan baik dalam situasi di mana file atau file besar perlu sering diproses, dan efisiensi pemrosesan IO lebih tinggi daripada IO biasa Memori bersama adalah kasus khusus dari file yang dipetakan memori, yang memetakan sepotong memori, bukan file pada disk. Subjek memori bersama adalah Proses, dan sistem operasi mengalokasikan ruang memori untuk setiap proses secara default, dan setiap proses hanya diizinkan untuk mengakses sepotong memori yang dialokasikan untuknya oleh sistem operasi, tetapi tidak untuk proses lain. Dan terkadang Anda perlu mengakses memori yang sama di antara proses yang berbeda, apa yang harus Anda lakukan? Sistem operasi menyediakan API untuk membuat akses ke memori bersama, dan proses yang perlu berbagi memori dapat mengakses memori yang dibagikan oleh beberapa proses melalui kumpulan API yang ditentukan ini, dan setiap proses mengakses memori ini seolah-olah mengakses file di hard disk. .Net 4.0 memperkenalkan System.IO. Namespace MemoryMappedFiles, kelas yang merangkum API terkait Memori Bersama Windows, sehingga memudahkan pemrogram .Net untuk menggunakan file pemetaan memori. Gunakan memori bersama di C#. Kode berikut untuk App1 memungkinkan pengguna memasukkan baris teks ke dalam memori bersama; App2 terus-menerus menyegarkan konsol dan mengeluarkan konten memori bersama terbaru; App3 mengimplementasikan fungsi yang sama dengan App2, tetapi metode membacanya berbeda.
Dua metode digunakan untuk membaca data. Karena komunikasi antar proses jarang digunakan sebelumnya, metode ini hanyalah pemahaman awal. Program ini terlalu sederhana, dan ada banyak hal yang tidak dinilai. Misalnya, cara membuat memori bersama, cara mengambil dan menghapusnya, dll.
|