Web Workers的多线程机制

Blob对象用法

Blob - Web API 接口参考 | MDN

嵌入式webworkers会用到Blob

JavaScript中的Blob对象

JavaScript 中 Blob 对象 - 掘金

掘金上比较基础的一篇文章,也可以自行搜索下Blob的扩展用法

Web Workers介绍

一个Web API->浏览器能力-》提供一个js可以运行的环境

Web应用程序可以在独立于主线程的后台线程中,运行一个脚本操作

关键点:性能考虑

线程通信过程:主线程->(发送任务通知)postMessage->worker线程(接收任务通知)onMessage->doWork(做任务)->finishWork(完成任务)->(发送任务完成结果通知)postMessage主线程->主线程onMessage(接收任务结果)

 

// worker.js
function fibonacci(n) {
    if(n == 1 || n == 2) {
        return 1;    
    }
    return fibonacci(n - 2) + fibonacci(n -1);
}
postMessage(fibonacci(40));
onmessage = function (e) {
    console.log(e);
}
// webworker.js
var w
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值