美文网首页
异步新理解

异步新理解

作者: doob_9117 | 来源:发表于2019-05-11 18:19 被阅读0次

很多时候程序并不能这样写

a()
ret = IO()
c(ret )
d()
因为如果IO阻塞了将会影响d的执行,d跟IO没关系。
这时候你会说为什么不把d放a()下面呢?这里代码简单,离得近,
能看出来也方便移动,但是在一个实际的大工程里,是看不出来的,有可能也办不到。

可是有时候如果不等待IO的返回值又没法执行c,
这时候就应该选择异步执行了。

比较通用的办法是把有顺序依赖的动作c当回调函数传给另一个执行
耗时操作的线程,线程执行完这个耗时操作后调用回调函数。
立即返回。另一个线程执行完耗时的操作后调用回调函数

或者把有顺序依赖的动作c当回调函数传给IO(),
IO自己开一个线程执行然后马上返回,线程执行好了就调用c()。
当IO执行完了他自己调用c
a()
ret = IO(c)
d()

相关文章

  • 异步新理解

    很多时候程序并不能这样写 a()ret = IO()c(ret )d()因为如果IO阻塞了将会影响d的执行,d跟I...

  • 理解异步

    同步与异步 同步:调用之后得到结果,在干别的任务 异步:调用之后不管结果,继续干别的任务 进程:程序运行的实例,同...

  • Promise - 04 Promise 的理解和使用

    Promise 的理解和使用 1: Promise 是什么? 抽象表达Promise 是 JS 中进行异步编程的新...

  • (2018-05-30.Python从Zero到One)8、(T

    7 异步与WebSockets 知识点 理解同步与异步执行过程 理解异步代码的回调写法与yield写法 Torna...

  • Vue 异步更新及nextTick原理

    目标 理解 Vue 异步更新机制 理解 nextTick 原理   先来看看官网关于 异步更新队列[https:/...

  • javascript异步理解

    javascript是单线程编程,意思就是javascript引擎一次只能执行一个语句。这样在出现长时间的请求的话...

  • JS 异步理解

    一、异步 JS的异步:新开一个子线程,在主线程执行完之后,执行子线程, 第二个参数:时间,代表在子线程中等待执行的...

  • 理解异步编程

    js是一个单线程的脚本语言,之所以是单线程是由于js要操作dom,如果在同一时间,一个线程修改dom,一个线程删除...

  • 手写Promise实现

    初学ES 6的Promise之后, 感觉这个新的异步处理模型有点绕, 为了加深理解, 所以尝试手写Promise的...

  • js异步处理(一)——理解异步

    我对异步的好奇心起于学习Promise时老是一知半解,最近在看《你所不知道的js(中)》,书中对异步这部分的讲解还...

网友评论

      本文标题:异步新理解

      本文链接:https://www.haomeiwen.com/subject/otmjbqtx.html