zoukankan      html  css  js  c++  java
  • 异步编程的概念以及promise的作用

     refer to: https://developer.mozilla.org/zh-CN/docs/learn/JavaScript/%E5%BC%82%E6%AD%A5/%E6%A6%82%E5%BF%B5

    • 什么是异步?
      • 通常情况下,程序都是顺序执行,同一时刻只会发生一件事。如果一个函数依赖于另一个函数的结果,它只能等待那个函数结束才能继续执行,从用户的角度来说,整个程序才算运行完毕. 如果只是等待就没有充分利用计算机的计算能力 — 尤其是在计算机普遍都有多核CPU的时代,坐在那里等待毫无意义,你完全可以在另一个处理器内核上干其他的工作,同时计算机完成耗时任务的时候通知你。这样你可以同时完成其他工作,这就是异步编程的出发点。
    • 阻塞
      • 异步技术非常有用,特别是在web编程。当浏览器里面的一个web应用进行密集运算还没有把控制权返回给浏览器的时候,整个浏览器就像冻僵了一样,这叫做阻塞;这时候浏览器无法继续处理用户的输入并执行其他任务,直到web应用交回处理器的控制。
    • JavaScript一般来说是单线程的(single threaded)。 一个线程是一个基本的处理过程,程序用它来完成任务。每个线程一次只能执行一个任务, 每个任务顺序执行,只有前面的结束了,后面的才能开始。现在的计算机大都有多个内核(core),因此可以同时执行多个任务。支持多线程的编程语言可以使用计算机的多个内核,同时完成多个任务。、
    • JavaScript 传统上是单线程的。即使有多个内核,也只能在单一线程上运行多个任务,此线程称为主线程(main thread
    • promise的来源

  • 相关阅读:
    js 生成 yyyy-mm-dd 格式的逼格姿势
    使用chrome联调不在同一个域的请求
    linux命令收集
    spring component-scan filter
    命令别名alias设置
    vi命令的使用
    Git中的文件状态和使用问题解决
    Git常用命令
    Maven
    MySQL命令
  • 原文地址:https://www.cnblogs.com/LilyLiya/p/14329691.html
Copyright © 2011-2022 走看看