zoukankan      html  css  js  c++  java
  • Javascript 之 异步和单线程

    异步 指的是程序不是按照代码顺序执行的

      同步会阻塞代码执行,而异步不会,

      alert() 是同步,setTimeout()是异步

    前端使用异步的场景 需要等待的情况下,因为等待不能阻塞程序执行,所以需要使用异步

    定时任务: setTimeout() 、 setInverval() 

    网路请求: ajax 请求、动态的 <img /> 加载

    事件绑定:如 onload 、 click ... 等

    单线程  指的是一次只能干一件事情,串连关系,异步代码放到后面执行

    console.log(100);
    setTimeout(function () {
      console.log(200);
    }, 1000);
    console.log(300);

    // 100
    // 300
    // 200

    1、执行第一行,打印100
    2、执行setTimeout后,传入setTimeout的函数会被暂存起来,有等待时间,先封闭起来,不会立即执行(单线程的特点,不能同时干两件事)
    3、执行最后一行,打印300
    4、待所有程序执行完,处于空闲状态时,会立马看有没有暂存起来的要执行
    5、发现暂存起来的setTiemout中的函数,待等待时间过后,解封立即执行
  • 相关阅读:
    pytorch 文本输入处理
    理解 on-policy 和 off-policy
    Monte Carlo与TD算法
    Monte Calro Tree Search (MCTS)
    强化学习概览
    linux 服务器 keras 深度学习环境搭建
    sed和awk学习整理
    linux shell编程进阶学习(转)
    gdb调试:
    MySQL C API 访问 MySQL 示例
  • 原文地址:https://www.cnblogs.com/joffe/p/7673718.html
Copyright © 2011-2022 走看看