同步与异步是程序员在开发软件的时候会经常用到的一个编程方法,而金我们就通过案例分析来了解一下,同步与异步的概念和应用方法。

1、同步

一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么都成功,要么都失败,两个任务的状态可以保持一致。

在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由调用者主动等待这个调用的结果。

对于同步型的调用,应用层需要自己去向系统内核问询,如果数据还未读取完毕,那此时读取文件的任务还未完成。

应用层根据其阻塞和非阻塞的划分,或挂起或去做其他事情(所以同步和异步并不决定其等待数据返回时的状态);

如果数据已经读取完毕,那此时系统内核将数据返回给应用层,应用层即可以用取得的数据做其他相关的事情。

2、异步

不需要等到被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。至于被依赖的任务终是否真正完成,依赖它的任务无法确定,所以它是不可靠的任务序列。

调用在发出之后,这个调用就直接返回了,所以没有返回结果。

换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。

而是在调用发出后,被调用者通过状态、通知来通知调用者,或通过回调函数处理这个调用。

而对于异步型的调用,应用层无需主动向系统内核问询,在系统内核读取完文件数据之后,会主动通知应用层数据已经读取完毕,此时应用层即可以接收系统内核返回过来的数据,再做其他事情。也就是说,是否是同步还是异步,关注的是任务完成时消息通知的方式。由调用方盲目主动问询的方式是同步调用,由被调用方主动通知调用方任务已完成的方式是异步调用。

3、同步/异步与阻塞/非阻塞

同步阻塞:效率是低的。

异步阻塞:异步操作是可以被阻塞住的,只不过它不是在处理消息时阻塞,而是在等待消息通知时被阻塞。

同步非阻塞:实际上是效率低下的,这个程序需要在两种不同的行为之间来回的切换,效率可想而知是低下的。

异步非阻塞:效率更高。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。

计算机的同步操作与异步操作的概念,运城计算机同步与异步的概念和应用方法...相关推荐

  1. 计算机同步与异步的概念,同步与异步到底是什么???

    总得来说,同步异步出现在以下几个领域: 1  计算机网络. 数据通信技术中有同步通信与异步通信.同步通信简单的说就是你在发送数据时候我必须同时接受.这个过程有精确的时钟控制.而异步通信是你在发数据时候 ...

  2. 计算机的主要硬件部件,主要内容: 计算机的基本概念 系统硬件组成(主要部件、系...的.ppt 文档全文预览...

    计算机的基本概念 系统硬件组成 * * 主要内容: 计算机的基本概念 系统硬件组成(主要部件.系统结构) 计算机的性能指标 第一章 概论 第一节 计算机的基本概念 1.1.1 冯 · 诺依曼思想 1. ...

  3. iOS高级面试之NSNotificationCenter是同步操作还是异步操作

    转载:http://blog.csdn.net/u014220518/article/details/70598063 :http://blog.csdn.net/intheair100/articl ...

  4. 计算机辅助设计的概念.doc,计算机辅助设计的基础知识.DOC

    计算机辅助设计的基础知识 第2章 计算机辅助设计的基础知识 2.1 几何建模 2.1.1 图形元素的概念 一个几何模型或一个图形,不管它有多么复杂,都是由基本的图形元素组成的, 这些基本图形元素简称为 ...

  5. 计算机比特块的输出概念,第1讲-比特的概念及计算机的组成原理.ppt

    第1讲-比特的概念及计算机的组成原理 第2章 计算机组成原理 主讲教师:刘建华 引言 信息的基本单位 --比特(bit) 什么是比特? 比特(bit,binary digit的缩写)中文翻译为&quo ...

  6. 计算机基本概念反思,计算机基础教学反思

    计算机基础教学反思 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 3.9 积分 计算机专业期中考试试卷分析与反思本次期中考试<计算机应用基础& ...

  7. 类脑计算机有什么用处,亿级神经元类脑计算机发布的意义,亿级神经元类脑是什么概念...

    亿级神经元类脑计算机发布,其意味着什么? 9月1日,浙江大学和之江实验室在杭州发布了一台包含1.2亿个脉冲神经元和近1000亿个突触的类脑计算机.这台计算机使用浙江大学开发的792 达尔文第二代类脑芯 ...

  8. 基本概念:计算机组成

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

  9. 计算机组成原理文华学院,华中科技大学文华学院计算机组成原理课设.doc

    <华中科技大学文华学院计算机组成原理课设.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<华中科技大学文华学院计算机组成原理课设.doc>文档请在 ...

最新文章

  1. linux中文麻酱字_【树】Linux笔记 1
  2. hadoop 第一课 启动dfs 文件系统
  3. YII2源码阅读:autoload_real.php 22~23行
  4. python带格式复制excel样式和内容_使用python的xlrd,xlwt和xlutils.copy保留样式
  5. HCharts随笔之简单入门
  6. thinkphp自定义模板标签(一)
  7. ALSA声卡12_从零编写之添加音量控制_学习笔记
  8. python 表示图论_Python 图论工具 | 学步园
  9. linux nginx 清除缓存文件,linux nginx 内置缓存怎么去掉
  10. 迭代开发个人总结20160627
  11. 使用JQuery做一组复选框的功能。
  12. 64位lua引擎如何支持32位luac编译出来的二进制字节码?
  13. Python-URL编码和URL解码方法
  14. 图示代码,轻松解决IV值计算问题(python)
  15. 中国广告协会的CAID方案
  16. Delphi网络游戏外挂制作
  17. Oracle update 更新数据语法和写法
  18. 深入浅出filament Android编译脚本
  19. 第104篇 Compound 中的 cTokens
  20. golang字符串拼接方式

热门文章

  1. 聚焦AWE2020 看小家电行业“风往哪吹”
  2. 求1至10乘阶的总和及求任意数乘阶
  3. Python之3~20的乘积
  4. 分布式架构-ZK客户端工具Curator框架分布式锁及基本使用
  5. ZK 的 Curator java客户端使用实例
  6. Java解P2678 [NOIP2015 提高组] 跳石头,有图有注释,通俗易懂
  7. 最新pycharm安装教程
  8. Endnote Reference styles参考文献引用模版制作——附毕设大论文引用模版
  9. U盘系统盘制作与系统安装(详细图解)
  10. 雅思口语练习必备100个经典句子