iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在c#中通过内存映射共享文件
  • 513
分享到

怎么在c#中通过内存映射共享文件

2023-06-14 20:06:46 513人浏览 安东尼
摘要

本篇文章给大家分享的是有关怎么在C#中通过内存映射共享文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。App1代码:using System;using 

本篇文章给大家分享的是有关怎么在C#中通过内存映射共享文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

App1代码:

using System;using System.Collections.Generic;Android从资源文件中读取文件流显示using System.Linq;using System.Text;using System.IO;//引用内存映射文件命名空间using System.IO.MemoryMappedFiles;namespace App1{    class Program    {        static void Main(string[] args)        {            long capacity = 1<<10<<10;            //创建或者打开共享内存            using (var mmf = MemoryMappedFile.CreateOrOpen("testMmf", capacity, MemoryMappedFileAccess.ReadWrite))            {                //通过MemoryMappedFile的CreateViewAcCSSor方法获得共享内存的访问器                var viewAccessor = mmf.CreateViewAccessor(0, capacity);                //循环写入,使在这个进程中可以向共享内存中写入不同的字符串值                while (true)                {                    Console.WriteLine("请输入一行要写入共享内存的文字:");                    string input = Console.ReadLine();                    //向共享内存开始位置写入字符串的长度                    viewAccessor.Write(0, input.Length);                    //向共享内存4位置写入字符                    viewAccessor.WriteArray<char>(4, input.ToArray(), 0, input.Length);                }            }                    }    }}

App2代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;//引用使用内存映射文件需要的命名空间using System.IO.MemoryMappedFiles;namespace App2{    class Program    {        static void Main(string[] args)        {              long capacity = 1<<10<<10;              using (var mmf = MemoryMappedFile.OpenExisting("testMmf"))              {                  MemoryMappedViewAccessor viewAccessor = mmf.CreateViewAccessor(0, capacity);                  //循环刷新共享内存字符串的值                  while (true)                  {                      //读取字符长度                      int strLength = viewAccessor.ReadInt32(0);                                            char[] charsInMMf = new char[strLength];                      //读取字符                      viewAccessor.ReadArray<char>(4, charsInMMf, 0, strLength);                      Console.Clear();                      Console.Write(charsInMMf);                      Console.Write("\r");                      Thread.Sleep(200);                  }              }        }    }}

App3代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO.MemoryMappedFiles;using System.IO;namespace App3{    class Program    {        static void Main(string[] args)        {            long capacity = 1 << 10 << 10;            //打开共享内存            using (var mmf = MemoryMappedFile.OpenExisting("testMmf"))            {                //使用CreateViewStream方法返回stream实例                using (var mmViewStream = mmf.CreateViewStream(0, capacity))                {                    //这里要制定Unicode编码否则会出问题                    using (BinaryReader rdr = new BinaryReader(mmViewStream,Encoding.Unicode))                    {                        while (true)                        {                            mmViewStream.Seek(0, SeekOrigin.Begin);                            int length = rdr.ReadInt32();                            char[] chars = rdr.ReadChars(length);                            Console.Write(chars);                            Console.Write("\r");                            System.Threading.Thread.Sleep(200);                            Console.Clear();                        }                    }                }            }        }    }}

以上就是怎么在c#中通过内存映射共享文件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: 怎么在c#中通过内存映射共享文件

本文链接: https://www.lsjlt.com/news/274618.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在c#中通过内存映射共享文件
    本篇文章给大家分享的是有关怎么在c#中通过内存映射共享文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。App1代码:using System;using ...
    99+
    2023-06-14
  • C#.Net通信共享内存映射文件是什么
    这篇文章主要讲解了“C#.Net通信共享内存映射文件是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#.Net通信共享内存映射文件是什么”吧!节点通信存在两种模型:共享内存(Share...
    99+
    2023-06-30
  • c# 通过内存映射实现文件共享内存的示例代码
    目录App1代码:App2代码:App3代码:内存映射文件是利用虚拟内存把文件映射到进程的地址空间中去,在此之后进程操作文件,就像操作进程空间里的地址一样了,比如使用c语言的 mem...
    99+
    2024-04-02
  • .Net多进程通信共享内存映射文件Memory Mapped
    目录内存映射文件究竟是个什么?.Net 共享内存 内存映射文件原理.Net 共享内存 演示代码.Net 进程间通信共享内存IMServer_Message.exe 代码IMServe...
    99+
    2024-04-02
  • 在Windows中通过网络共享文件
    要在Windows中通过网络共享文件,您需要遵循以下步骤:1. 确保您的计算机与其他计算机在同一局域网中。2. 在要共享文件的计算机...
    99+
    2023-09-08
    Windows
  • 怎么远程映射win10的共享文件夹
    要远程映射Windows 10的共享文件夹,可以按照以下步骤操作:1. 确保Windows 10电脑和远程电脑在同一个网络中,并且共...
    99+
    2023-10-18
    Win10
  • Go通道channel怎么通过通信共享内存
    本文小编为大家详细介绍“Go通道channel怎么通过通信共享内存”,内容详细,步骤清晰,细节处理妥当,希望这篇“Go通道channel怎么通过通信共享内存”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。引言不要通...
    99+
    2023-07-02
  • C++中怎么实现共享内存
    C++中怎么实现共享内存,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。初次使用C++标准库实现共享内存的管理时,Vector每次分配内存个数不固定,回收也不固定,这样的话,程序...
    99+
    2023-06-17
  • python怎么共享内存通信
    在Python中,可以使用多种方式来实现进程间的共享内存通信,下面是一些常用的方法: 使用`multiprocessing`模块中...
    99+
    2023-10-25
    python
  • c++怎么创建共享内存
    在C++中,可以使用操作系统的系统调用或者第三方库来创建共享内存。1. 使用操作系统的系统调用:在Unix/Linux操作系统中,可...
    99+
    2023-08-20
    c++
  • 在 Go 语言中实践内存映射和文件操作
    小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《在 Go 语言中实践内存映射和文件操作》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!...
    99+
    2024-04-04
  • win7文件在局域网内怎么共享
    本篇内容主要讲解“win7文件在局域网内怎么共享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win7文件在局域网内怎么共享”吧!共享方法:在电脑中找到要共享的文件夹。鼠标右键单击文件夹,在弹出...
    99+
    2023-06-28
  • C++中怎么用共享文件实现进程间通信
    在C++中使用共享文件实现进程间通信,可以通过以下步骤实现: 创建一个共享文件,可以使用open()函数或者fopen()函数创建...
    99+
    2024-04-02
  • Java中如何用内存映射处理大文件
    本篇内容介绍了“Java中如何用内存映射处理大文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!package test;&nbs...
    99+
    2023-06-17
  • 怎么在Win10 中查看共享文件
    这篇文章给大家介绍怎么在Win10 中查看共享文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法一:我们可以右键点击桌面左下角的开始按钮,在弹出的菜单中点击“命令提示符(管理员)”菜单项。接下来我们在打开的命令提示...
    99+
    2023-06-08
  • Linux中怎么实现共享内存
    Linux中怎么实现共享内存,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、概念共享内存是被多个进程共享的一部分物理内存,是进程间共享数据的最快的一种方法。&...
    99+
    2023-06-12
  • 如何在 Golang 中使用内存映射提高文件读写速度?
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-16
  • 怎么在win10系统中共享文件夹
    在win10系统中共享文件夹的方法:1.右键文件选择特定用户共享;2.添加共享用户;3.设置共享权限;具体步骤如下:首先,在计算机中选择对应的文件,右键选择“共享”,点击“特定用户”选项;在弹出的文件共享对话框中,添加需要共享的用户;最后,...
    99+
    2024-04-02
  • Java编程中如何通过Git来共享算法文件?
    在Java编程中,我们经常需要共享算法文件。这些算法文件可能是我们自己编写的,也可能是其他人编写的。为了方便共享和协作,我们可以使用Git来管理这些算法文件。本文将介绍如何通过Git来共享算法文件,并提供一些演示代码。 一、Git的基本概...
    99+
    2023-08-02
    编程算法 文件 git
  • 怎么在mybatis框架中查询xml映射文件
    本篇文章为大家展示了怎么在mybatis框架中查询xml映射文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是Mybatis框架?MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作