1、javaScript中的采用异步方式的总时间和采用同步的总时间是什么关系?怎么评判的?
2、还有就是异步的时候是先执行同步任务,异步任务又是谁在执行,为什么等到回掉执行的时候,异步任务已经执行完成了?是由于浏览器多线程的原因吗?
1、javaScript中的采用异步方式的总时间和采用同步的总时间是什么关系?怎么评判的?
2、还有就是异步的时候是先执行同步任务,异步任务又是谁在执行,为什么等到回掉执行的时候,异步任务已经执行完成了?是由于浏览器多线程的原因吗?
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
第一点总时间关系
排除一些影响因素,对于特定的一组任务来讲,异步话费总时间是这些任务中耗时最长的哪一个任务的时间。同步是所有任务花费时间的累加和。
第二个问题
在浏览器引擎中,单线程,是指在JS引擎中负责解释和执行JavaScript代码的线程只有一个,这也是我们常说的js是单线程的原因。
但是呢,在上述线程外,还存在其他的线程,比如:处理AJAX请求的线程、处理DOM事件的线程、定时器线程等等,也有人叫做工作线程。
工作流程是,js线程接受到一个异步ajax任务,然后把这个ajax任务交给ajax线程,ajax线程接收到之后回复js线程说收到了马上处理,之后处理完成之后,再通知js线程说处理完毕了,js线程接收到通知之后,再调用之前保存的队列回调函数。
抱歉,手机不好打字