浏览器线程包括:GUI渲染线程,Java【访问 www.tangshuang.net 获取更多精彩内容】【原创不易,请尊重版权】Script引擎线程,浏览器事件触发线程【未经授权禁止转载】本文作者:唐霜,转载请注明出处。,定时触发器线程,异步http请求线程。著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。其中,JS引擎线程就是执行JS的主线程,【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。GUI渲染线程跟JS引擎线程是互斥的,不【未经授权禁止转载】原创内容,盗版必究。能同时进行,所以当JS陷入死循环的时候,【未经授权禁止转载】本文作者:唐霜,转载请注明出处。浏览器界面没法进行渲染,而如果渲染消耗了原创内容,盗版必究。【原创不易,请尊重版权】大量资源,JS也没法马上执行。
【原创不易,请尊重版权】【关注微信公众号:wwwtangshuangnet】setTimeout(fun, 0)是一【本文首发于唐霜的博客】【作者:唐霜】个有趣的现象。这里的知识点是,定时触发器本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】线程和JS主线程是分开的,当执行setT【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。imeout的时候,就是告诉JS主线程,原创内容,盗版必究。【原创内容,转载请注明出处】需要被分发到定时触发器线程中去计时等待。原创内容,盗版必究。转载请注明出处:www.tangshuang.net线程与线程之间通过消息来通信,当定时触发【未经授权禁止转载】【作者:唐霜】器线程的某个任务执行完之后,它会把消息发著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。送回主线程,这个消息其实就是回调函数,它【原创不易,请尊重版权】原创内容,盗版必究。把回调函数发回给主线程,但是发回的消息在【原创内容,转载请注明出处】【访问 www.tangshuang.net 获取更多精彩内容】主线程执行顺序的最末端。所以setTim本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】eout(fun, 0)的效果虽然在时间原创内容,盗版必究。本文作者:唐霜,转载请注明出处。上看上去是立即执行,但是相对于js程序而【访问 www.tangshuang.net 获取更多精彩内容】【作者:唐霜】已,其实是有一个延时的,起码延时到当前主转载请注明出处:www.tangshuang.net【作者:唐霜】线程所有任务的最后面。
转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】这好像没有什么用,但是起码在阅读代码的时【未经授权禁止转载】原创内容,盗版必究。候不会懵逼。
【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】
