消息发送与接收的方式.ppt

消息发送与接收的方式.ppt

ID:52638248

大小:190.50 KB

页数:12页

时间:2020-04-12

消息发送与接收的方式.ppt_第1页
消息发送与接收的方式.ppt_第2页
消息发送与接收的方式.ppt_第3页
消息发送与接收的方式.ppt_第4页
消息发送与接收的方式.ppt_第5页
资源描述:

《消息发送与接收的方式.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、消息发送与接收的方式数据发送与接收的不同方式引起的后果P0P1a=100;send(&a,1,1);a=0;recv(&a,1,0);printf(“%d”,a);有额外硬件支持通信与计算并行执行时,可能会出现语义正确性问题。2021/9/71消息发送与接收的方式(续)阻塞式消息传递:无语义正确性问题缓冲模式无缓冲模式非阻塞式消息传递缓冲模式无缓冲模式2021/9/72无缓冲模式阻塞发送/接收发送操作直到与之配对的接收操作启动之后,才在传完数据之后返回。典型方法是采用握手机制导致进程空闲发送进程接收进程sendrecv请求应答发送进程接收进程re

2、cv请求应答发送进程接收进程sendrecv请求应答2021/9/73无缓冲模式阻塞发送/接收(续)无缓冲模式阻塞操作中的死锁P0P1send(&a,1,1);recv(&b,1,1);send(&a,1,0);recv(&b,1,0);2021/9/74缓冲模式阻塞发送/接收操作在发送端,当执行到发送操作时,将数据复制到缓冲区,并在数据复制完毕后就立即返回在接收端,接收来的数据也存储到一个缓冲区中,当接收进程执行到接收操作时,再去检测数据是否已经在缓冲区中2021/9/75缓冲模式阻塞发送/接收操作(续)有无专门硬件支持时的不同操作方式recv发送

3、进程接收进程sendrecv发送进程接收进程send将数据复制到缓冲区2021/9/76缓冲模式阻塞发送/接收操作(续)减少了进程空闲,但增加了数据缓冲开销一般如果可以预测到发送与接收将几乎同时到达时,采用无缓冲操作更为有效对一般应用问题,采用有缓冲操作比较好在缓冲模式中,也可能由于缓冲区大小的限制而导致死锁2021/9/77缓冲模式阻塞发送/接收操作(续)缓冲区太小导致性能下降的例子P0P1For(k=0;k<10000;k++){produce_data(&a);send(&a,1,1);}For(k=0;k<10000;k++){recv(&a

4、,1,0);consume_data(&a);}2021/9/78缓冲模式阻塞发送/接收操作(续)由于接收端必须阻塞以保证语义正确性而导致死锁的例子P0P1recv(&a,1,1);send(&b,1,1);recv(&a,1,0);send(&b,1,0);2021/9/79非阻塞消息传递操作在缓冲模式下,发送进程在启动复制到缓冲区的DMA操作后立即返回,返回时DMA操作可能尚未结束在无缓冲模式下,发送进程简单地将消息的状态标识为尚未传输,就返回在数据进程传输的过程中,可以进行一些有用而不会引起语义正确性问题的计算2021/9/710非阻塞消息传递

5、操作(续)无专门硬件与有专门硬件时无缓冲模式非阻塞通信图示发送进程接收进程sendrecv请求应答数据不安全发送进程接收进程sendrecv请求应答数据不安全数据不安全2021/9/711各种方式的通信操作比较2021/9/712

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。