45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网络编程 > javascript >

js 同步、异步、阻塞与非阻塞的知识点

电脑软硬件应用网 45IT.COM 时间:2014-08-03 16:12 作者:佚名
本文章给各位介绍一下js 同步、异步、阻塞与非阻塞的知识点,希望例子对各位同学会带来帮助哦。

当你们在说同步,异步,阻塞,非阻塞的时候到底在说什么?

一个术语的描述应该有一个目标对象吧

那些说同步,异步的家伙,从来不说这个目标对象是谁,在程序的运行过程中,有很多参与者,到底这个同步,异步用来描述谁的呢?


个人理解,同步与异步描述的是一种行为方式,阻塞与非阻塞描述的是一种状态。

在js中,我们说同步,是说同步调用,举个栗子:

 代码如下  
function A(){
 
        B();
 
        C();
 
}

那么A对B,C发起了同步调用,这里的主体是A。在执行A的时候,先执行B,在执行C,他们遵循严格的先后顺序。其实就是一个顺序执行。这是同步的具体特征。

而我们说异步,其实是说异步调用方式,表现出的具体特征是改变代码的执行顺序,在js中其实就是延迟执行。

例如:

 代码如下  

function A(){
 
       setTimeout( B(),200);
 
        C();
 
}

这里让B延迟执行,A运行时,会先执行C(),再执行B(),这就是A对B的异步调用。;但是setTimeout(B(),200)这个语句和C的执行,仍然保持严格的先后顺序,只是C和B的执行顺序发生了改变。

我认为使用同步调用,异步调用去描述这种现象更加明确。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识