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