C#-C#如何实现进程之间的信号量的收发?

发布于 2017-02-22 03:59:42 字数 46 浏览 1491 评论 3

如A进程发送信号量至进程B,B接到信号量之后执行操作。C#如何实现这样的功能?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浮生未歇 2017-09-26 17:13:22

两线程之间的信号量,可使用AutoResetEvent和ManualResetEvent类来实现,具体可参照这篇文章:http://blog.csdn.net/daiyueqiang/article/details/4978167

灵芸 2017-05-18 09:31:29

具体实现没什么可说,可参考:http://hi.baidu.com/luoyuonline/blog/item/cb878a0f1e4b5cec37d12208.html

对于操作系统而言,信号量是本地进程同步最高效的实现方案,“namepipe或者socket之类的都是太重了”,不知道“重”从哪个方面来说的,需要看namepipe和socket是怎么显示的,C#来说主要是看虚拟机是如何实现它们的。个人觉得从操作系统和协议本身来考虑“效率”、“可靠”性比较合适。

想挽留 2017-05-08 20:20:30

进程间通信可以选择操作系统提供的同步原语.

同步: ResetEvent (ManualReset , AutoReset), Seamphore, Mutex 等

也可以利用操作系统的通信方式,例如:

Message 消息处理机制,定义自定义的消息头和消息体

第三方消息队列,例如微软的MessageQueue

利用网络:

Socket, Named-Pipe, Remoting 等

利用内存或者文件共享数据,例如:

SharedMemory, File 等。

微软提供了一个例子框架有完整的实现,见:

http://www.codeproject.com/Articles/34073/Inter-Process-Communication-IPC-Introduction-and-S

http://1code.codeplex.com/wikipage?title=IRPC#x_x_Download

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文