前言
撰文:川川
平日的编码中,你能列出你常用的异步编码?怎么理解同步与异步?...,必须等待打完了一个,然后再接着打下一个的
在如何看待同步之前,有必要了解下计算机中两个专业术语概念,就是进程和线程
进程: 它是系统进行资源分配和调度的一个独立单位,具有一定独立功能的程序关于某个数据集合上的一次运行活动...,可以粗俗的理解为主(大)任务
线程:安排CPU执行的最小单位,可以理解为子任务
关系:线程可以视作为进程的子集,一个进程可以有多个线程并发执行
区别:进程和线程的主要差别在于,它们是不同的操作系统资源管理方式...首先我们知道了JS里的一种任务分类方式,就是将任务分为: 同步任务和异步任务
虽然JS是单线程的,但是浏览器的内核却是多线程的,在浏览器的内核中不同的异步操作由不同的浏览器内核模块调度执行,异步任务操作会将相关回调添加到任务队列中...按照这种分类方式:JS的执行机制是
首先判断js代码是同步还是异步,不停的检查调用栈中是否有任务需要执行,如果没有,就检查任务队列,从中弹出一个任务,放入栈中,如此往复循环,要是同步就进入主进程,异步就进入事件表