课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
线程问题是需要程序员重点掌握的一个编程知识,而今天我们就通过哪里分析来了解一下,浏览器多线程实现包含哪些线程类型。
GUI渲染线程:负责渲染浏览器界面HTML元素,当界面需要重绘(Repaint)或由于某种操作引发回流(reflow)时,该线程就会执行。在Javascript引擎运行脚本期间,GUI渲染线程都是处于挂起状态的,也就是说被”冻结”了。
JavaScript引擎线程:主要负责处理Javascript脚本程序
定时器触发线程:浏览器定时计数器并不是由JavaScript引擎计数的,JavaScript引擎是单线程的,如果处于阻塞线程状态就会影响记计时的准确,因此浏览器通过单独线程来计时并触发定时。
事件触发线程:当一个事件被触发时该线程会把事件添加到待处理队列的队尾,等待JS引擎的处理。这些事件包括当前执行的代码块如定时任务、浏览器内核的其他线程如鼠标点击、AJAX异步请求等。由于JS的单线程关系所有这些事件都得排队等待JS引擎处理。定时块任何和ajax请求等这些异步任务,事件触发线程只是在到达定时时间或者是ajax请求成功后,把回调函数放到事件队列当中。
异步HTTP请求线程:在XMLHttpRequest在连接后是通过浏览器新开一个线程请求,将检测到状态变更时,如果设置有回调函数,异步线程就产生状态变更事件放到JavaScript引擎的处理队列中等待处理。在发起了一个异步请求时,http请求线程则负责去请求服务器,有了响应以后,事件触发线程再把回到函数放到事件队列当中。
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。