同步/异步编程的原理

一、JS中的同步编程和异步编程:
同步:任务是按照顺序依次处理的,当前这件事没有彻底做完,下一件事是执行不了的。
异步:当前这件事没有彻底做完,需要等待一段时间才能继续处理,此时我们不等,继续执行下面的任务,当后面的任务完成后,在去把没有彻底完成的任务完成。
【JS中的异步编程】
1.所有的事件绑定都是异步编程 xxx.onclick = function(){};
2.所有的定时器都是异步编程
3.AJAX中一般都使用异步编程处理
4.回调函数也算是异步编程

二、浏览器是如何规划同步异步机制的
1.浏览器是多线程的,JS是单线程的(浏览器只给JS执行分配一个线程):单线程的特点就是一次只能处理一件事情
【进程】:每一个应用程序都可以理解为一个进程(浏览器打开一个页面,就相当于开辟一个进程),在一个程序中(进程中)我们经常会同时干很多事情,此时我们可以分配多个线程去同时完成多项任务。
2.JS在单线程中实现异步的机制,主要依赖于浏览器的任务队列完成的。浏览器中有两个任务队列(主任务队列,等待任务队列)
三、画图警告:
ps:就算时间因子设为0,也不是立即执行,每一个浏览器都有自己的执行时间(谷歌:5-6 IE:10-13)
图片借鉴于其他地方

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值