一.异步和同步
同步:比如你今天要做前端把静态和该做的都做完了,然后tmd,后端一直没动静,不给接口,导致你做不了,阻塞了,而且你就真的就不动了,饭也不吃了,那么称为同步
同步就是,你干的事情,可能会阻塞在某个地方
在JS 里面就是 alert() 在alert弹出框框点击确定之前,alert下面的代码不会执行
异步:比如你今天要做前端和静态和该做的都做完了,然后tmd,后端一直没动静,不给接口,你灵机一动,上了后端,然后你就去玩游戏,吃饭啊什么的,没阻塞在后端这里,那么称为异步
在JS 就是 setTimeout 或者 setInterval 或者 ajax这类的
就算执行需要时间,你也可以先做他们之下的事情,不会阻塞代码的总体运行和这些语句后续的事情
异步
console.log(100)
setTimeout(() => {
console.log(200)
}, 0);
console.log(2)
这里注意,就算时间为0,也不会立即执行,这些 setTimeout 或者 setInterval 或者 ajax之类的操作,会被暂时放到一个暂存区,等待总体代码执行后才会执行,执行结果为 100 2 200
同步
alert(123)
console.log(19)
在这个123 弹出来你不关闭之前,这个console.log(19) 是不会执行的,会阻塞在这
二:单线程
什么是单线程呢,就是这个代码你只能自己一个人从头到尾执行下来,没人帮你的忙。
多线程就是类似公司,不同人有不同的工作,每个人都执行自己的工作,这个就是多线程。