关于异步:再次思考和澄清

关于异步:
在我看来,没有异步调用,只有异步IO。而在很多程序员的术语异步调用,异步执行。都是不存在的,
为什么?
异步调用,就是任务分派,分派到其他机器上而后等待任务完成,获取任务结果。这里的异步指的是什么?
恐怕我们并不明白?任务分派?
异步执行,异步执行模式,是指语句在异步执行模式下,各语句执行结束的顺序与语句执行开始的顺序并不一定相同。
(来自百度百科)。这个描述很可怕,很不明所哟。

想到这里,我在wiki百科上进行搜索: Asynchronous function,
得到的相似的结果只有:

  • Message passing (section Synchronous versus asynchronous message passing)
  • Qt (software)available natively in C++: signals and slots, introspection and asynchronous function calls. Main article: List of platforms supported by Qt Qt works
  • Asynchronous semaphore
  • Asynchronous method invocation
  • Asynchronous circuit
  • Ajax (programming) (redirect from Asynchronous Javascript and XML)
  • Asynchronous I/O
  • Asynchronous system
  • Induction motor (redirect from Asynchronous electric motor)
  • Asynchronous Transfer Mode
  • Callback (computer programming) (redirect from Asynchronous callback)
  • Induction generator (redirect from Asynchronous generator)
  • Parallel computing (redirect from Asynchronous programming)

这是部分内容。比较有意思的就是Asynchronous method invocation(要明白什么意思,请自行wiki 地址在https://en.wikipedia.org/wiki/Asynchronous_method_invocation),Asynchronous I/O。而其他部分的异步的修饰,基本上是其他的含义。

哀,对于异步,究竟该如何理解。我想只能根据这些特定的术语来理解了。asynchrous I/O,则是多路复用(select、poll、epoll、kqueue)和nonblocking的结合。
他们有这样的特点
1.节省CPU,不用让CPU等待IO
2.多次执行IO,的不确定性(比较类似的Asynchronous method invocation,有polling)

时间: 2024-07-28 16:37:42

关于异步:再次思考和澄清的相关文章

异步编程最佳实践

避免async void 异步方法返回类型有3种,void,Task和Task<T>,void尽量不要使用. 原理剖析: 使用async void标记的方法有不同的错误处理语义.async Task或async Task<T>方法抛出异常时,异常会被捕获并放到Task对象上.然而,标记为async void的方法没有Task对象,所以async void方法抛出的任何异常都会直接放到SynchronizationContext(异步上下文)上,它是在async void方法开始的时

Android减少布局层次--有关Activity根视图DecorView的思考

1 前面文章里面总结的一张图 一直觉得有关DecorView还是有些问题没有搞清楚,今天在看了一点有关SurfaceFlinger的内容以后,顿时突发奇想,想到之前的问题,之前的思考是: 虽然可以将DecorView作为Activity布局的父View,也就是只存在  DecorView---->Activity Layout两层,但是经过试验还是会存在Title Bar,或者说是现在的Action Bar,尝试如下: protected void onCreate(Bundle savedIn

少是指数级的多(转)

转自 http://www.oschina.net/news/30584 原文 Less is exponentially more是 Rob Pike 自己整理的他在六月22日,旧金山的 Golang 会议上的演讲稿.清晰的介绍了 Go 的前世今生,来龙去脉.为了让更多的人能够更加清楚的认识到 Go 的优雅并喜爱上 Go,特翻译成中文,以飧读者. ------翻译分隔线------ 大道至简 这是我(Rob Pike)在 2012 年六月,旧金山 Go 会议上的演讲内容. 这是一个私人演讲.我

漫谈余数

奇数怎么理解?被2除余1的整数...   偶数怎么理解?能被2整除的数... 图样图森破,就是这么简单,那么余数起到什么作用?分组,就像上面的例子,根据被2除之后的余数,可以将整数划分为2,分为两组,即奇数和偶数 思考题(假设今天是星期天,那么100天以后是星期几?) 蠢巴巴的我小时候是数手指头算出来的(听到高斯的事迹之后,我只能躲在角落偷偷流泪啊),怎么算的,今天星期天,1天以后星期一,2天以后星期二.......数到第一百天,哇塞原来星期二,是的,就是这么的蠢!!!话题扯远了,我们换一种思考

HTML5的五种客户端离线存储方案

最近折腾HTML5游戏需要离线存储功能,便把目前可用的几种HTML5存储方式研究了下,基于HT for Web写了个综合的实例,分别利用了Cookie.WebStorage.IndexedDB以及FileSystem四种本地离线存储方式,对燃气监控系统的表计位置.朝向.开关以及表值等信息做了CURD的存取操作. http://www.hightopo.com/guide/guide/core/serialization/examples/example_exportimport.html HTM

三层架构(我了解并详细分析)

三层架构已经学到了一些时间,一直想做一个比較完整.比較完美的总结.可是左思右想,不知道怎样下笔.都说万事开头难嘛.今天整理了一下凌乱的思路.哎,还是没整理好,想到哪就说到哪吧. 刚開始学习的人非常不理解: 1,什么是三层? 2,为什么使用三层? 3,三层与以往使用的两层相比有什么不同?它的优势在哪里? 4.怎样学好三层?怎样应用三层? -- 这篇博客里我会给大家一一解释一下.略懂皮毛忘大家见谅.! ! 米老师一直强调:让学习和生活结合,把学习和生活联系,这种学习才叫会学习,会生活. 对于三层我左

【运筹学基础】——宏观总结

宏观大图: 简单来说,运筹学这本书,理论挺好懂的,计算部分太多了,需要动手去做.在运筹学的科学理论指导下进行决策. 我将本书分为了三个部分:决策程序,库存管理,以及决策方法. 在决策程序阶段,一看步骤我就想起了信息系统开发管理编的知识网,系统开发步骤啥的.既然是步骤,那肯定都会有模板的,就例如这个决策程序步骤吧! 首先,我们要确定要决策的问题目标,然后针对这个问题拟定可行的解决方案,拟定好方案后,就要对这些方案进行预测,然而预测也要有一定的步骤(略过).无论是谁都会很在意盈亏的,预测完就要进行盈

驾驶与编程(2)

驾照考完通过了,这里再次思考了驾驶与编程的关系. 每次出车都有不同的情况:每次编程,同样的函数调用的时候都有不同的注意事项. 要求相似:保持轻松的心态才能最好地发挥. 面对突发情况:如何保持合理稳固的心态,实战模拟练习,紧急情况处置:编程中各种异常处理.宕机和现场情况也是如此. 善于总结:对每次练习都要总结问题和自己的心得体会. 时间投入:好的车技要烧油,好的编程水平要投入时间和金钱. 跨平台:在不同的车型和车况下练习,学习在不同的平台上开发. 接近实战:实战处置,在可控的环境下进行练习. 最后

dll文件32位64位检测工具以及Windows文件夹SysWow64的坑(很详细,还有自动动手编程探测dll)

阅读目录 dll文件不匹配导致数据库无法启动 究竟是System32还是SysWow64 区分dll文件32位64位的程序让我倍感迷惑 再次判断究竟是System32还是SysWow64——意想不到的坑 Program Files (x86)与Program Files 32位程序真的需要访问System32吗 32位程序与64位程序的区别总结 参考资料 自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program