JavaScript线程理解

来源:互联网 发布:苏州网络报警平台 编辑:程序博客网 时间:2024/05/23 01:22

1. 浏览器内核的实现至少有三个常驻线程:javascript引擎线程、界面渲染线程、浏览器事件触发线程,除些以外,也有一些执行完就终止的线程,如Http请求线程,这些异步线程都会产生不同的异步事件。

注:定时器个人理解为是系统的线程或其他什么,不存在阻塞。

2. JavaScript引擎是单线程运行的,浏览器无论在什么时候都只且只有一个线程在运行JavaScript程序。

3. 在JavaScript引擎运行脚本期间,浏览器渲染线程都是处于挂起状态的,也就是说被”冻结”了。在脚本中执行对界面进行更新操作,如添加结点、删除结点或改变结点的外观等更新并不会立即体现出来,这些操作将保存在一个队列中,待JavaScript引擎空闲时才有机会渲染出来。

4. JavaScript脚本的执行不影响html元素事件的触发。

5. ajax请求是由浏览器新开一个线程请求,当请求的状态变更时,如果先前已设置回调,这异步线程就产生状态变更事件放到JavaScript引擎的处理队列中等待处理。


原文地址:http://www.phpv.net/html/1700.html

0 0
原创粉丝点击