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

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

异步的使用场景:

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

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

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

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

5、不影响主线程逻辑


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


同步的好处:

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

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

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

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

 

异步的好处:

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

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

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

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

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

相关文章推荐

mqtt 异步消息 长连接 解析

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

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

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

互联网推送服务原理:长连接+心跳机制(MQTT协议)

互联网推送消息的方式很常见,特别是移动互联网上,手机每天都能收到好多推送消息,经过研究发现,这些推送服务的原理都是维护一个长连接(要不不可能达到实时效果),但普通的socket连接对服务器的消耗太大了...
  • clh604
  • clh604
  • 2014-03-01 00:06
  • 50288

Apollo(MQTT) 简介和源码搭建

Apollo以ActiveMQ原型为基础,是一个更快、更可靠、更易于维护的消息代理工具。Apache称Apollo为最快、最强健的 STOMP(Streaming Text Orientated Me...

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

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

线程同步的场景

主要是限制两个分别位于不同线程的方法,必须不能同时执行,这样避免了脏数据。 一种思路是,锁住多个方法,比如读和写的方法都加上对象锁,这样就保证了通过同一个对象来调用读和写方法的两个线程中,读...

JDK并发工具包CompletionService和ExecutorCompletionService的好处和使用场景

《Java并发编程实践》一书6.3.5节CompletionService:Executor和BlockingQueue,有这样一段话:   "如果向Executor提交了一组计算任务,并且希望在计算...

JDK并发工具包CompletionService和ExecutorCompletionService的好处和使用场景

《Java并发编程实践》一书6.3.5节CompletionService:Executor和BlockingQueue,有这样一段话: “如果向Executor提交了一组计算任务,并且希望在计算完成...

JDK并发工具包CompletionService和ExecutorCompletionService的好处和使用场景

《Java并发编程实践》一书6.3.5节CompletionService:Executor和BlockingQueue,有这样一段话: “如果向Executor提交了一组计算任务,并且希望在计算完...

【测试】Gunicorn , uWSGI同步异步测试以及应用场景总结

最近使用uwsgi出了一些问题,于是测试下Gunicorn测试对比下 环境 一颗cpu 1g内存 Centos系统 Django作为后端应用,Gunicorn默认模式和异步模式,响应基本是无阻塞类型 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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