zoukankan      html  css  js  c++  java
  • 你不知道的javaScript笔记(7)

    异步:现在与将来

      分块的程序

        可以把JavaScript 程序写在单独的js 文件中,这个程序是由多个块组成的,这些块

        中只有一个是现在执行,其余在捡来执行,最常见的块单位是函数。

          例如:

           

     function now() {
                return 21;
            }
            function later() {
              answer = answer * 2;
              console.log("Meaning of life:", answer);
            }
            var answer = now();
            setTimeout (later,1000); // Meaning of life: 42

              现在:

                function now() {
                    return 21;
                }
                function later() {...}
                setTimeout(later,1000);
                setTimeout(later,1000);

              将来:

                answer = answer * 2;
    
                console.log("Meaning of life:", answer);

       异步控制台

          事件循环

          并行线程

            异步是现在和将来的时间间隙,而并行是关于能同时发生的事情。

            并行计算最常见的的工具就是进程和线程,并行和线程独立运行,并可能同时运行,

            在不同的处理器,甚至不同的计算机上,但多个进程能够共享单个进程的内存。

        并发

          两个或多个进程同时执行就出现了并发,不管组成他们的单个运算是否并行执行

          可以把并发看作进程及的并行,与计算级的并行相对。

        非交互

            两个或多个进程在同一个程序内并发地交替运行它们的步骤/事件时,如果这些任务彼此不相关,就不一定需要交互。

        交互

          更常见的情况是,并发的进程需要相互交流,通过DOM 间交互。

        协作

          取到一个长期运行的进程,并将其分割成多个步骤或多批人,使其他并发进程有机会将自己的运算插入到事件循环队列中交替运行。

        任务

          挂在事件循环队列的每个tick 之后的一个队列,在事件循环的每个tick 中,可能

          出现异步动作不会导致一个完整的新事件添加到新事件中,而会在当前的tick 任务队列末尾添加一个项目。

        语句顺序

            代码中语句的顺序和JavaScript 引擎执行语句的顺序并不一定一致。

            JavaScript 引擎在编译这段代码之后,可能会发现通过重新安排这些语句的顺序有可能提过速度。

      回调

        continuation(延续)

        顺序的大脑

          执行与计划

          嵌套回调与链式回调

        信任问题

        五个回调的故事

        省点回调

  • 相关阅读:
    Linux 部署 .net
    转载:什么才是真正的 RESTful 架构
    Web Api资料
    nginx 配置
    Nginx 资料
    session、cookie资料
    WCF 资料
    投资
    解决在控制层springmvc框架发出的400状态的错误
    解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版)
  • 原文地址:https://www.cnblogs.com/nmxs/p/7156765.html
Copyright © 2011-2022 走看看