异步执行的原理

Hanna ·
更新时间:2024-09-21
· 610 次阅读

计算机程序执行分为同步执行,和异步执行

所谓的同步执行,就是正常的计算机程序执行的3大顺序流程
顺序控制语句 从上至下,从左至右
分支控制语句 if,switch
循环控制语句 for,while,do…while,for…in,forEach()

所谓的异步执行,是一种特殊的程序的执行方式
setInterval setTimeout
事件的绑定 onclick…
ajax请求

所谓异步程序的执行
1,所有的异步程序的执行,都会在同步程序执行结束之后,再来执行
2,异步程序的执行顺序,如果时间相同,看代码的先后顺序
如果时间不同,时间短的,先执行

描述异步程序执行的过程
1,从一行代码开始执行程序
2,同步程序正常执行
3,如果发现是异步程序,暂时不执行
存储在异步池中,等待执行
4,将程序中所有的同步程序执行完毕后
5,开启异步池,执行异步程序
当设定的时间到达,就会执行对应的异步升序
先到设定时间的异步程序,先执行
如果设定的时间相同,看异步程序的顺序,来执行

必须要牢记,异步程序的执行,一定是在所有同步程序执行结束之后,才会开始执行。

例如如下程序:

setInterval(function(){
console.log(‘我是异步执行的程序1111’);
} , 2000);
setInterval(function(){
console.log(‘我是异步执行的程序2222’); } , 1000);

console.log(‘我是同步执行的程序’)

这个程序执行的顺序就是先执行 console.log(‘我是同步执行的程序’)
再去执行异步程序,如果异步程序时间相同,看代码先后顺序,如果时间不同,时间短的先执行。这里因为两个异步程序时间不同,所以先执行

setInterval(function(){
console.log(‘我是异步执行的程序2222’);
} , 1000);

再执行

setInterval(function(){
console.log(‘我是异步执行的程序1111’);
} , 2000);


作者:yaoqianss



异步执行 异步

需要 登录 后方可回复, 如果你还没有账号请 注册新账号