C#进程间共享内存通信方式 .pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

C#进程间共享内存通信⽅式

从别处看到⼀篇⽂章做进程间通信很好使,唯⼀的问题是,需要注意using的⽤法,Using有个⽤法3,

using语句允许程序员指定使⽤资源的对象应当何时释放资源。using语句中使⽤的对象必须实现IDisposable接⼝。此接⼝提供了Dispose

⽅法,该⽅法将释放此对象的资源。

①可以在using语句之中声明对象。

Fontfont2=newFont(Arial,10.0f);

using(font2)

{

//usefont2

}

②可以在using语句之前声明对象。

using(Fontfont2=newFont(Arial,10.0f))

{

//usefont2

}

③可以有多个对象与using语句⼀起使⽤,但是必须在using语句内部声明这些对象。

using(Fontfont3=newFont(Arial,10.0f),font4=newFont(Arial,10.0f))

{

//Usefont3andfont4.

}

使⽤规则

①using只能⽤于实现了IDisposable接⼝的类型,禁⽌为不⽀持IDisposable接⼝的类型使⽤using语句,否则会出现编译错误;

②using语句适⽤于清理单个⾮托管资源的情况,⽽多个⾮托管对象的清理最好以try-finnaly来实现,因为嵌套的using语句可能存在隐藏

的Bug。内层using块引发异常时,将不能释放外层using块的对象资源;

③using语句⽀持初始化多个变量,但前提是这些变量的类型必须相同,例如:

using(Penp1=newPen(Brushes.Black),p2=newPen(Brushes.Blue))

{

//

}

④针对初始化对个不同类型的变量时,可以都声明为IDisposable类型,例如:

using(IDisposablefont=newFont(Verdana,12),pen=newPen(Brushes.Black))

{

floatsize=(fontasFont).Size;

Brushbrush=(penasPen).Brush;

}

using实质

在程序编译阶段,编译器会⾃动将using语句⽣成为try-finally语句,并在finally块中调⽤对象的Dispose⽅法,来清理资源。所以,using语

句等效于try-finally语句,例如:

Fontf2=newFont(Arial,10,FontStyle.Bold);

try

{

执⾏//⽂本绘制操作

}

finally

{

if(f2!=null)((IDisposable)f2).Dispose();

}

好了下⾯开始粘贴从别处看来的

C#.Net多进程同步通信共享内存内存映射⽂件MemoryMapped转

[摘要:节⾯通讯存正在两种模⼦:同享内存(Sharedmemory)战⾳讯传送(Messagespassing)。内存映照⽂件对托管天下的开辟职员

来讲好像很⽬⽣,但它确切已是很太古的技巧了,并且正在操纵系节点通信存在两种模型:共享内存(Sharedmemory)和消息传递

(Messagespassing)。

内存映射⽂件对于托管世界的开发⼈员来说似乎很陌⽣,但它确实已经是很远古的技术了,⽽且在操作系统中地位相当。实际上,任何

想要共享数据的通信模型都会在幕后使⽤它。

内存映射⽂件究竟是个什么?内存映射⽂件允许你保留⼀块地址空间,然后将该物理存储映射到这块内存空间中进⾏操作。物理存储是

⽂件管理,⽽内存映射⽂件是操作系统级内存管理。

优势:

访问磁盘⽂件上的数据不需执⾏1.I/O操作和缓存操作(当访问⽂件数据时,作⽤尤其显著);

让运⾏在同⼀台机器上的多个进程共享数据2.(单机多进程间数据通信效率最⾼

文档评论(0)

LLFF333 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档