[Head First Html5 Programming notes] Chapter 10 Web工作线程

Chapter 10 Web工作线程

0 Web工作线程原则

工作线程是重量级资源。

虽然从代码来看创建工作线程箱单简单,但这需要额外的内存和一个操作系统线程,在启动时间和资源方面开销可能很昂贵。

应创建有限的工作线程,并适当地设计计算来充分利用这些工作线程。

1 JavaScript单线程工作

​ JavaScript是单线程的,若任务时间太长,浏览器可能提示"Slow Script"

2 Web工作线程
  1. Web工作线程是一个单独的线程处理任务,主JavaScript代码启动Web工作线程后,可以继续运行并对用户界面保持响应

  2. Web工作线程由一单独的JavaScript文件定义

  3. Web工作线程不能访问页面代码中的函数或DOM

  4. 检测浏览器对Web工作线程的支持性

    if(window["Worker"]) {
         
    	//浏览器支持Web工作线程
    }
    
3 主页面与Web工作线程通信
  1. 主页面代码与Web工作线程通过message通信
  2. 主页面通过worker.postMessage(message)向工作线程发送消息;工作线程开始工作,完成后通过postMessage(message)返回处理结果
  3. message可以是字符串、对象、数组等,但不能是函数,以保证工作线程不能修改DOM
  4. message为对象时,发送的是对象副本,而不是原对象的引用(与JavaScript函数调用传入对象不同)
  5. 主页面将工作线程的onmessage属性设置为处理函数,以接受工作线程返回的消息࿱
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值