同步和异步概念与消息的通知机制有关:
对于消息处理者而言,在同步的情况下,由处理消息者自己去等待消息是否被触发;在异步的情况下,由触发机制来通知处理消息者,然后进行消息的处理。同步和异步仅仅是关于所关注的消息如何通知的机制,而不是处理消息的机制。
阻塞和非阻塞与消息的处理机制有关:
阻塞模式是指在指定套接字上调用函数执行操作时,在没有完成操作之前,函数不会立即返回。非阻塞模式是指在指定套接字上调用函数执行操作时,无论操作是否完成,函数都会立即返回。
同步与阻塞,异步与非阻塞并不是两对相同的概念,要注意消息的通知和消息的处理是不同的。
比喻理解:
同步:由自己去询问能否取餐
异步:由服务员通知你取餐
阻塞:等待时什么都不做
非阻塞:等待时做点别的事情
同步阻塞:A什么都不做一遍一遍地问是否能取餐
同步非阻塞:A边刷新闻边问是否能取餐
异步阻塞:A什么都不做等着服务员叫他取餐
异步非阻塞:A在等服务员叫他取餐时边刷新闻
本文介绍了同步和异步的概念,它们关注的是消息通知的方式,同步由消息处理者主动查询,异步则是通过触发机制通知。同时,阻塞和非阻塞涉及消息处理机制,阻塞会等待操作完成,而非阻塞则立即返回。通过生动的比喻,帮助读者理解这四种模式的区别和应用场景。
208

被折叠的 条评论
为什么被折叠?



