同步、异步转化和任务执行
2013-12-23 00:27
309 查看
正如动静是相对的概念,有了它们,世界才充满盎然生气;变和不变也是哲学上的对立统一,在代码的世界里也一样;同步异步呢?
首先,来粗略地看看同步和异步各自有些什么好处:
同步的好处:
1、同步流程对结果处理通常更为简单,可以就近处理。
2、同步流程对结果的处理始终和前文保持在一个上下文内。
3、同步流程可以很容易捕获、处理异常。
4、同步流程是最天然的控制过程顺序执行的方式。
异步的好处:
1、异步流程可以立即给调用方返回初步的结果。
2、异步流程可以延迟给调用方最终的结果数据,在此期间可以做更多额外的工作,例如结果记录等等。
3、异步流程在执行的过程中,可以释放占用的线程等资源,避免阻塞,等到结果产生再重新获取线程处理。
4、异步流程可以等多次调用的结果出来后,再统一返回一次结果集合,提高响应效率。
首先,来粗略地看看同步和异步各自有些什么好处:
同步的好处:
1、同步流程对结果处理通常更为简单,可以就近处理。
2、同步流程对结果的处理始终和前文保持在一个上下文内。
3、同步流程可以很容易捕获、处理异常。
4、同步流程是最天然的控制过程顺序执行的方式。
异步的好处:
1、异步流程可以立即给调用方返回初步的结果。
2、异步流程可以延迟给调用方最终的结果数据,在此期间可以做更多额外的工作,例如结果记录等等。
3、异步流程在执行的过程中,可以释放占用的线程等资源,避免阻塞,等到结果产生再重新获取线程处理。
4、异步流程可以等多次调用的结果出来后,再统一返回一次结果集合,提高响应效率。
相关文章推荐
- 同步、异步转化和任务执行
- 使用GCD异步和同步执行任务
- 使用Promise和async-await实现的一个异步遍历+同步执行任务的实例
- spring执行同步任务和异步任务
- LazyMay:实现同步和异步任务的顺序执行
- 线程,任务,同步之异步执行和等待线程
- Go语言同步与异步执行多个任务封装详解(Runner和RunnerAsync)
- spring执行同步任务和异步任务
- Go语言同步和异步执行多个任务封装
- GCD编程dispatch_sync(同步)和dispatch_async(异步)方式执行并发队列任务区别
- NSNotification的同步执行、异步执行
- 实现增强的异步任务执行组件
- Django Celery Redis 异步执行任务demo实例
- 线程 GCD 同步执行 异步执行
- ajax同步、异步执行简单理解与证明
- 阻塞 非阻塞 同步 异步 线程 进程 任务
- Django配置celery(非djcelery)执行异步任务和定时任务
- Android使用IntentService执行异步任务
- jquery的ajax同步异步执行
- IOS多线程知识总结/队列概念/GCD/主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别(附代码)