欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

简单讲解JavaScript中同步与异步操作的区别:阻塞与非阻塞模式

最编程 2024-02-06 09:12:15
...

进程和线程

要想了解js中的同步阻塞和异步非阻塞,首先我们要对进程和线程的基本概念有一个清楚 的了解。
进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,简单来说你的电脑每运行一个程序就是一个进程。
线程:进程的一个执行单元,是操作系统能够进行运算调度的最小单位。
一个程序至有一个进程,一个进程至少有一个线程。
举个例子来说明一下

比如你的电脑打开了迅雷,那么迅雷就是一个进程;你的电脑打开来QQ,那么QQ就是一个进程。你的电脑每打开一个程序就多了一条进程。
拿QQ这个进程来说,你打开语音,那么语音就是QQ这个进程中的一个线程,你开启了视频,就是打开了QQ这个进程中视频的这个线程。

同步和异步

说完了进程和线程,现在再来聊一下同步和异步
大家都知道js是单线程机制的,它分为两种工作模式,同步模式和异步模式。
同步:就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。简单点来说,同步就是必须一件一件事做,等前一件做完了才能做下一件事。
异步:与异步相对,它在发出一个功能调用是,在没得到结果前,可以继续去进行后续操作,等调用完成后在通知调用者。通俗点讲就是这件事正在做,没做完,但是你可以去做下一件事,等这件事做完了,再通知你

同步含义是“一起”,异步含义是“一边……一边……”

在编程思想里面理解为:

同步:代码的书写顺序和代码的执行顺序一样

异步:代码的书写顺序和代码的执行顺序不一样 例如:setTimeout() btn.onclick = function(){}

下面用一副图来描述一下

推荐阅读