进程之间通讯(两个应用程序如何能够通讯)附C#项目工程源码

在某些情况下,我们需要一个进程(可视为应用程序)调用另外一个进程,两个进程之间能够传递一些参数信息;

提高信号通信的效率,传递大量数据,减轻程序编制的复杂度。

提供三种方式:

1.共享内存模式

2.消息传递模式

3.共享文件模式

最为快捷有效的方式之一,UNIX系统中常被使用。内存共享区的互斥要通过其它机制实现;数据的发送方不关心数据由谁接收,数据的接收方也不关心数据是由谁发送的,存在安全隐患。

消息传递

message-passing:通过操作系统的相应系统调用进行消息传递通讯。分为直接和间接两种:

直接通信方式:点到点的发送

Send (DestProcessName, Message);

Receive (SourceProcessName, Message);

基本思想:进程在发送和接收消息时直接指明接收者或发送者进程ID。

缺点:必须指定接收进程ID。(UNIX的信号机制类似这种形式)

间接通信方式:以信箱为媒介进行传递,可以广播

Send (MailBox, Message);

Receive (MailBox, Message);

间接通信方式(信箱命名法)

基本思想:系统为每个信箱设一个消息队列,消息发送和接收都指向该消息队列。

缺点:必须有一个通讯双方共享的一个逻辑消息队列( UNIX的PIPE,FIFO及IPC消息传递机制都属于这种形式),使用时消息发送者约定写方式打开信箱,消息接受者约定读方式打开信箱或同时读写打开。

优点:很容易建立双向通讯链(只要对信箱说明为读写打开)。


这里通过消息传递方式实现的一种进程间通讯方式

 从主进程点击子进程,启动

点击信息回传后

 

 项目源码链接:

进程间通讯(两个应用程序如何通讯)C#源代码.rar-C#文档类资源-CSDN文库

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HappyGirl快乐女孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值