同步、异步的使用场景及好处

原创 2016年06月02日 11:02:15

异步的使用场景:

1、不涉及共享资源,或对共享资源只读,即非互斥操作

2、没有时序上的严格关系

3、不需要原子操作,或可以通过其他方式控制原子性

4、常用于IO操作等耗时操作,因为比较影响客户体验和使用性能

5、不影响主线程逻辑


同步的使用场景:不使用异步的时候


同步的好处:

1、同步流程对结果处理通常更为简单,可以就近处理。

2、同步流程对结果的处理始终和前文保持在一个上下文内。

3、同步流程可以很容易捕获、处理异常。

4、同步流程是最天然的控制过程顺序执行的方式。

 

异步的好处:

1、异步流程可以立即给调用方返回初步的结果。

2、异步流程可以延迟给调用方最终的结果数据,在此期间可以做更多额外的工作,例如结果记录等等。

3、异步流程在执行的过程中,可以释放占用的线程等资源,避免阻塞,等到结果产生再重新获取线程处理。

4、异步流程可以等多次调用的结果出来后,再统一返回一次结果集合,提高响应效率。

版权声明:本文为博主原创文章,未经博主允许不得转载。

AJAX中同步和异步的区别和使用场景

AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行; 下面来区别一下同步和异步有什么不同: 异步...

异步操作的优缺点及其应用场合

我曾经提到异步操作能提高系统的吞吐能力,正确使用异步操作来校正滥用异步的错误做法,那异步究竟有何优点值得我们使用?而又有什么缺点需要我们使用的时候小心呢?诚如老赵所说, 异步并不一定能提高系统性能,甚...

mqtt 异步消息 长连接 解析

mqtt 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放,简单,轻量级,且易于实现,这些优点使得他受用于任何环境 该协议的特点有:  使用发布/订阅消息的模式,提供一对多的消息发布,解除应...
  • axuanqq
  • axuanqq
  • 2016年07月13日 14:09
  • 7747

异步消息传递技术的比较:JMS、AMQP和MQTT

消息传递作为基本通信机制已经在全世界成功运用。无论是人与人、机器与人还是机器与机器之间,消息传递一直都是唯一常用的通信方式。在双方(或更多)之间交换消息有两种基本机制。  1.同步消息传递  2....

建议71:区分异步和多线程应用场景

建议71:区分异步和多线程应用场景 初学者有时候会将异步和多线程混为一谈。如果对它们之间的区别不是很清楚,很容易写出下面这样的代码: private void buttonGetPag...
  • houwc
  • houwc
  • 2016年09月07日 11:11
  • 630

ajax在实际应用中是要选择同步还是异步

ajax在实际应用中是要选择同步还是异步  Ajax在网页中最大的一个优点是它可以访问服务器上的信息而不需要重新加载网页。这意味着要检索或是更新信息的某一小个部分的时候,只需要从服务器端传送...

Spring中@Async用法总结

引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3....

Java语言基础键盘录入的基本格式讲解Scanner

导包  格式 import java.util.Scanner  位置     在 class上面  创建键盘录入对象    Scanner sc = new Scanner();  通过对象来获取数...
  • ss19497
  • ss19497
  • 2017年01月23日 10:44
  • 482

sleep()和wait()线程控制方法的区别

1、这两个方法来自不同的类分别是Thread和Object   2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。   3、wait,n...

深刻理解ajax中同步和异步的区别和使用场景

先上两段代码,猜下这两段代码的console.log的执行顺序和结果: 代码一: $.ajax({ type: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:同步、异步的使用场景及好处
举报原因:
原因补充:

(最多只允许输入30个字)