理解任务队列
同步任务
同步任务即主线程。同一时间只能做一件事,除此之外不能做其它的事情。
主线程中的任务做完才会去其它的任务队列(异步任务队列)里抓任务来做。
任务队列,我们拆分词语,可以分成任务和队列两个词语。
- 任务:js中运行时真正执行的计算,需要待办的事项
- 队列:存储任务的数据结构是队列的形式(First Input First Output,FIFO)
任务队列就好比去医院排队的过程:
进入队列 | 执行任务 | 移除任务 | 执行完毕 |
---|---|---|---|
排队 | 挂号 | 离开排队的队伍 | 就诊 |
- 先排队的先挂号,后排队的后挂号
- 先进入任务队列的先执行,后进入任务队列的后执行
这便是只存在同步任务的情况。
js就是单线程语言,js的代码若不进行特殊处理,其执行顺序一般按编写、调用的顺序执行。
.
.
异步任务
宏观上的执行顺序
比如秃鹫这类食腐动物,它们只在猎物死亡后才会去进食,在此之前,它