HTML5——webworker

HTML5——webworker,第1张

概念

程序:指可以被CPU执行的代码,程序存储在磁盘上 a.html b.js

进程:将程序调入内存中,并且分配指定空间,在内存中的程序称为进程

线程:进程内部是由多个线程组成(在内存中)

chrome浏览器

一个chrome浏览器进程中内部至少6个线程负责向服务器发送请求去获取资源【这种线程叫做:资源(网页、图片、视频)请求线程】

一个线程负责绘制所有资源并且执行js程序——ui主线程

案例:单线程阻塞





a1.js

var start = new Date().getTime()
do{
 var end = new Date().getTime()
}while(end - start < 5000)

如果js执行的时间特别长,按钮2就会渲染的很慢

解决方案:创建新线程帮助ui主线程执行耗时的js任务





案例: work线程和ui线程互相传递数据【注意:worker中不能 *** 作dom和bom,所以才需要互相传递】

*** 作网页中DOM/BOM只能交给UI主线程其他线程不能 *** 作DOM/BOM 担心混乱

①、 ui线程发送,Worker接收





 a1.js:

onmessage = function(event){console.log(event.data)}

②、Worker发送,ui线程接收





 a1.js:

postMessage("阿克苏")

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/945097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-18
下一篇 2022-05-18

发表评论

登录后才能评论

评论列表(0条)

保存