栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

HTML5——webworker

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HTML5——webworker

概念

程序:指可以被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("阿克苏")

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/878474.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号