同步和异步

区别

同步和异步最大的区别就是被调用方的执行方式和返回时机。同步指的是被调用方做完事情之后再返回,异步指的是被调用方先返回,然后再做事情,做完之后再想办法通知调用方。

阻塞和非阻塞

阻塞请求,A调用B,A一直等着B的返回,别的事情什么也不干。

非阻塞请求,A调用B,A不用一直等着B的返回,先去忙别的事情了。

区别

阻塞和非阻最大的区别就是在被调用方返回结果之前的这段时间内,调用方是否一直等待。阻塞指的是调用方一直等待别的事情什么都不做。非阻塞指的是调用方先去忙别的事情。

长连接和短连接

长连接

过程:建立连接——数据传输…(保持连接)…数据传输——关闭连接

传送消息之前建立连接后将不会再关闭。

好处:频繁发送消息可以节省大量的建立连接的成本
缺点:服务器可以接收的连接数量有限,当超过一定数量,服务端会崩溃

短连接

过程:建立连接——数据传输——关闭连接…建立连接——数据传输——关闭连接

每次发送消息之前建立连接,发送消息之后关闭连接

好处:存在的连接都是有效的连接,及时关闭连接
缺点:如果客户请求频繁,将在TCP的建立和关闭操作上浪费时间和带宽

参考

参考文章

评论