同步和异步的理解
2011-02-17 17:53
323 查看
同步请求和异步请求的区别
先解释一下同步和异步的概念
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
同步通信方式与异步通信的概念
同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;
异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。
使用者用于调用WEB服务的通信选择:同步或异步。
使用者可以同步或异步实现服务调用。从使用者的观点来看,这两种方式的不同之处在于:
同步
——使用者通过单个线程调用服务;该线程发送请求,在服务运行时阻塞,并且等待响应。
异步
——使用者通过两个线程调用服务;一个线程发送请求,而另一个单独的线程接收响应。
术语同步
和异步
经常与顺序
和并发
混淆了。后面的这两个术语与执行单独的任务必须遵循的顺序有关,而同步
和异步
与线程执行单个任务(如调用单个服务)的方式有关。理解同步和异步调用之间的不同的一种很好的方法是考虑崩溃恢复的后果:
同步
——如果使用者在服务运行的过程中阻塞时崩溃了,当它重新启动时,将无法重新连接到正在进行的调用,所以响应丢失了。使用者必须重复调用过程,并且期望这次不会崩溃。
异步
——如果使用者在发送了请求之后等待响应时崩溃了,当它重新启动时,可以继续等待响应,所以响应不会丢失。
崩溃恢复不是同步和异步调用之间的唯一不同,但是如果您尝试确定某个调用采用哪一种方式,请考虑每一种调用如何处理崩溃恢复,这通常可以给您一个很好的答案.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
在 Java Web 开发中使用 Ajax 时,重要的是完整理解同步
和异步
通信模型的区别(请参阅
参考资料
)。对异步通信模型支持的缺乏,会对客户端开发、与 Web
框架的集成、标记库的使用、IDE 的使用以及线程的行为有影响。
在同步请求/响应通信模型中,总是浏览器(与 Web 服务器、应用服务器或 Web 应用程序相对)发起请求(通过 Web
用户)。接着,Web 服务器、应用服务器或 Web
应用程序响应进入的请求。在处理同步请求/响应对期间,用户不能继续使用浏览器。
在异步请求/响应通信模型中,浏览器(通过 Web 用户)到 Web 服务器、应用服务器或 Web
应用程序的通信(以及反过来)是解耦的。在异步请求/响应对的处理中,Web
用户在当前异步请求被处理时还可以继续使用浏览器。一旦异步请求处理完成,异步响应就被通信(从 Web 服务器、应用服务器或 Web
应用程序)回客户机页面。典型情况下,在这个过程中,调用对 Web 用户没有影响;他们不需要等候响应。
先解释一下同步和异步的概念
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
同步通信方式与异步通信的概念
同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;
异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。
使用者用于调用WEB服务的通信选择:同步或异步。
使用者可以同步或异步实现服务调用。从使用者的观点来看,这两种方式的不同之处在于:
同步
——使用者通过单个线程调用服务;该线程发送请求,在服务运行时阻塞,并且等待响应。
异步
——使用者通过两个线程调用服务;一个线程发送请求,而另一个单独的线程接收响应。
术语同步
和异步
经常与顺序
和并发
混淆了。后面的这两个术语与执行单独的任务必须遵循的顺序有关,而同步
和异步
与线程执行单个任务(如调用单个服务)的方式有关。理解同步和异步调用之间的不同的一种很好的方法是考虑崩溃恢复的后果:
同步
——如果使用者在服务运行的过程中阻塞时崩溃了,当它重新启动时,将无法重新连接到正在进行的调用,所以响应丢失了。使用者必须重复调用过程,并且期望这次不会崩溃。
异步
——如果使用者在发送了请求之后等待响应时崩溃了,当它重新启动时,可以继续等待响应,所以响应不会丢失。
崩溃恢复不是同步和异步调用之间的唯一不同,但是如果您尝试确定某个调用采用哪一种方式,请考虑每一种调用如何处理崩溃恢复,这通常可以给您一个很好的答案.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
在 Java Web 开发中使用 Ajax 时,重要的是完整理解同步
和异步
通信模型的区别(请参阅
参考资料
)。对异步通信模型支持的缺乏,会对客户端开发、与 Web
框架的集成、标记库的使用、IDE 的使用以及线程的行为有影响。
在同步请求/响应通信模型中,总是浏览器(与 Web 服务器、应用服务器或 Web 应用程序相对)发起请求(通过 Web
用户)。接着,Web 服务器、应用服务器或 Web
应用程序响应进入的请求。在处理同步请求/响应对期间,用户不能继续使用浏览器。
在异步请求/响应通信模型中,浏览器(通过 Web 用户)到 Web 服务器、应用服务器或 Web
应用程序的通信(以及反过来)是解耦的。在异步请求/响应对的处理中,Web
用户在当前异步请求被处理时还可以继续使用浏览器。一旦异步请求处理完成,异步响应就被通信(从 Web 服务器、应用服务器或 Web
应用程序)回客户机页面。典型情况下,在这个过程中,调用对 Web 用户没有影响;他们不需要等候响应。
相关文章推荐
- 同步、异步、阻塞、非阻塞---我的理解
- 关于同步、异步、阻塞、非阻塞的理解
- 理解 iOS 开发中 GCD 相关的同步(synchronization)\ 异步(asynchronization),串行(serial)\ 并行(concurrency)概念
- 怎样理解阻塞非阻塞与同步异步的区别?
- 计算机网络: 同步传输和异步传输(理解)
- 微软BI 之SSIS 系列 - 理解Data Flow Task 中的同步与异步, 阻塞,半阻塞和全阻塞以及Buffer 缓存概念
- 并发,同步,异步,互斥,阻塞,非阻塞的理解
- 同步、异步、阻塞与非阻塞的理解与使用场景
- 对I/O阻塞、非阻塞;同步I/O、异步I/O的理解
- 怎样理解阻塞非阻塞与同步异步的区别
- 理解同步异步
- 怎样理解阻塞非阻塞与同步异步的区别?
- 同步/异步、阻塞/非阻塞的理解
- 理解B/S结构中服务端同步与异步机制的区别,通过使用ASP.Net异步处理节约队列时间成本,解决大并发量问题
- 串口 同步和异步 理解
- 对:同步与异步、阻塞与非阻塞的理解(通俗易懂)
- 理解阻塞非阻塞与同步异步的区别
- 理解阻塞非阻塞与同步异步的区别
- 理解阻塞非阻塞与同步异步的区别
- (java学习)关于对java中的同步和异步的理解