[基础]同步消息和异步消息传递的区别?
在系统交互时候选择同步还是异步有时候很让⼈困扰,希望通过阅读这篇⽂章可以帮助更好的理解同步与异步。
同步与异步消息的区别
1、同步消息
同步消息传递涉及到等待服务器响应消息的客户端。消息可以双向地向两个⽅向流动。本质上,这意味着同步消息传递是双向通信。即发送⽅向接收⽅发送消息,接收⽅接收此消息并回复发送⽅。发送者在收到接收者的回复之前不会发送另⼀条消息。
2、异步消息
异步消息传递涉及不等待来⾃服务器的消息的客户端。事件⽤于从服务器触发消息。因此,即使客户机被关闭,消息传递也将成功完成。异步消息传递意味着,它是单向通信的⼀种⽅式,⽽交流的流程是单向的。
如果这还不好理解,那继续往下读...
异步:⽐如A是字符集第⼀个字母,唯⼀可⾏的⽅法就是向Z⾛,这意味着是单向通信。
同步:⽐如同步是从字母S开始,可能是朝向可能是A或Z,这意味着是双向通信。
同步和异步消息传递的有点和缺点
异步消息传递有⼀些关键优势。它们能够提供灵活性并提供更⾼的可⽤性——系统对信息采取⾏动的压⼒较⼩,或者以某种⽅式⽴即做出响应。另外,⼀个系统被关闭不会影响另⼀个系统。例如,电⼦邮件——你可以发送数千封电⼦邮件给你的朋友,⽽不需要她回复你。
异步的缺点是它们缺乏直接性。没有直接的相互作⽤。考虑⼀下与你的朋友在即时通讯或电话上聊天——除⾮你的朋友及时回复你,否则这不是聊天或谈话。
异步消息传递允许更多的并⾏性。由于进程不阻塞,所以它可以在消息传输时进⾏⼀些计算。
异步消息传递引⼊了⼏个问题。如果消息⽆法传递会发⽣什么?如果消息在传输中丢失了怎么办?
与异步消息传递相关的另⼀个问题与缓冲有关。如果在操作系统管理的空间中对消息进⾏异步处理,则进程可能会通过⼤量消息向数据库中写⼊数据。
同步通信和异步通信的区别
哪个更好——同步还是异步?
这个问题没有答案。
如果感到对您有帮助没准⼉你就会赞赏,iOS 专⽤赞赏通道:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。