使用C#在两个或多个进程之间共享int值?

时间:2011-03-10 14:12:10

标签: c# .net multithreading process mutex

我想在两个进程之间共享int计数器并且基于某些逻辑int值将递增。

任何人都可以建议我使用.Net 3.5框架吗?

由于 克里希纳

4 个答案:

答案 0 :(得分:3)

如果您只需要增加不同线程的计数,请查看Interlocked.Increment方法

答案 1 :(得分:2)

要在进程之间进行通信,可以使用WCF(Windows Communication Foundation)和Named Pipe Binding.

从上面的链接:

  

命名管道是Windows操作系统内核中的对象,例如进程可用于通信的共享内存部分。命名管道具有名称,可用于单台机器上的进程之间的单向或双工通信。

     

当在一台计算机上的不同WCF应用程序之间需要通信,并且您希望阻止来自另一台计算机的任何通信时,请使用命名管道传输。另一个限制是,从Windows远程桌面运行的进程可能被限制在同一个Windows远程桌面会话中,除非它们具有提升的权限。

答案 2 :(得分:2)

使用Memory mapped filesSystem.IO.Pipes,见下文。

  

引入了内存映射文件   .Net Framework 4.0。否则,你可以   使用命名管道。

答案 3 :(得分:0)

查看进程间数据交换。 这是关于它的好article