同步、异步、阻塞、非阻塞
2005-12-13 20:21
225 查看
http://www.graphics.net.cn/bbs/c_or_cpp/0187/059.asp
同步异步与阻塞和非阻塞是两种不同的概念来着
同步异步指的是通信模式,而阻塞和非阻塞指的是在接收和发送时是否等待动作完成才返回
所以不能混淆这四个磁。
以下是我的一些理解,请大家多指教
首先是通信的同步,主要是指客户端在发送请求后,必须得在服务端有回应后才发送下一个请求。所以这个时候的所有请求将会在服务端得到同步
其次是通信的异步,指客户端在发送请求后,不必等待服务端的回应就可以发送下一个请求,这样对于所有的请求动作来说将会在服务端得到异步,这条请求的链路就象是一个请求队列,所有的动作在这里不会得到同步的。
阻塞和非阻塞只是应用在请求的读取和发送。
在实现过程中,如果服务端是异步的话,客户端也是异步的话,通信效率会很高,但如果服务端在请求的返回时也是返回给请求的链路时,客户端是可以同步的,这种情况下,服务端是兼容同步和异步的。相反,如果客户端是异步而服务端是同步的也不会有问题,只是处理效率低了些。
http://blog.vckbase.com/arong/archive/2005/11/30/9970.html
同步异步与阻塞和非阻塞是两种不同的概念来着
同步异步指的是通信模式,而阻塞和非阻塞指的是在接收和发送时是否等待动作完成才返回
所以不能混淆这四个磁。
以下是我的一些理解,请大家多指教
首先是通信的同步,主要是指客户端在发送请求后,必须得在服务端有回应后才发送下一个请求。所以这个时候的所有请求将会在服务端得到同步
其次是通信的异步,指客户端在发送请求后,不必等待服务端的回应就可以发送下一个请求,这样对于所有的请求动作来说将会在服务端得到异步,这条请求的链路就象是一个请求队列,所有的动作在这里不会得到同步的。
阻塞和非阻塞只是应用在请求的读取和发送。
在实现过程中,如果服务端是异步的话,客户端也是异步的话,通信效率会很高,但如果服务端在请求的返回时也是返回给请求的链路时,客户端是可以同步的,这种情况下,服务端是兼容同步和异步的。相反,如果客户端是异步而服务端是同步的也不会有问题,只是处理效率低了些。
http://blog.vckbase.com/arong/archive/2005/11/30/9970.html
相关文章推荐
- socket阻塞与非阻塞,同步与异步、I/O模型
- 阻塞非阻塞与同步异步的区别
- 关于同步、异步,阻塞、非阻塞的解释
- 并发,同步,异步,互斥,阻塞,非阻塞的理解
- 【socket编程】如何理解同步异步与阻塞非阻塞的区别(转)
- Java分布式应用简介------I/O模型:阻塞与非阻塞、同步与异步
- 概念理解之同步,异步,阻塞,非阻塞
- 同步、异步、阻塞、非阻塞
- socket阻塞与非阻塞,同步与异步、I/O模型
- socket阻塞与非阻塞,同步与异步、I/O模型
- 举例说同步异步阻塞非阻塞机制
- socket同步和异步、阻塞和非阻塞、I/O模型
- IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)
- socket同步异步阻塞非阻塞
- 聊聊同步与异步、阻塞与非阻塞、I/O模型
- 理解阻塞非阻塞与同步异步的区别
- 同步与阻塞,异步与非阻塞的区别
- [置顶] IO中同步、异步与阻塞、非阻塞的区别
- 阻塞/非阻塞、同步/异步IO
- netty使用准备之同步、异步、阻塞、非阻塞