美文网首页
web worker总结

web worker总结

作者: 沉默固执老阿姨 | 来源:发表于2022-06-22 15:45 被阅读0次

序:js 是单线程单进程模式,所有任务只能在一个线程上面顺序执行。在存在高计算的代码运行时,会阻带掉页面的相关操作。所以需要Web Worker创建子进程进行高计算的代码运行,并且将计算结果回传给主进程。


基本使用:

    var worker = new Worker('xxx.js');

    主进程

    worker.postMessage();    // 发消息

    worker.onmessage = function(event){    //接消息

        console.log(event.data)

    }

    worker.terminate()    // 关闭

worker.onerror(funtion(){}) //   worker.addEventListener('error',function(event){})   // 监听错误

    worker线程(子线程)

    self.postMessage()    // 发消息

    self.addEventListener('message',function(event){    // 接消息

         console.log(event.data)

    },false)

    self.close() //关闭

    self.addEventListener('error',function(event){})   // 监听错误

    importScripts('xxxx1.js','xxxx2.js')   // 加载其他子文件


数据通信:

    1、可以传文本也可以是对象

    2、传值而不是传址

    3、通信运行机制:通信内容串行化为字符串

    4、针对传送二进制数据优化,主进程直接转移数据,不进行拷贝。,worker.postMessage(arrayBuffer,[arrayBuffer]); 

同页面Web Worker


整体操作:


注意事项:

    1、同源资源。Worker线程运行的脚本文件必须与主进程的脚本文件同源    

    2、DOM限制。全局对象无法读取window、parent、document.可以读取navigator、location 

    3、通信联系。Worker线程与主线程不在一个上下文

    4、脚本限制。Worker线程不能执行 alert() 和 confirm(),可以使用 XMLHttpRequest对象

    5、文件限制。Worker线程无法读取本地文件

相关文章

  • web worker总结

    序:js 是单线程单进程模式,所有任务只能在一个线程上面顺序执行。在存在高计算的代码运行时,会阻带掉页面的相关操作...

  • web worker 处理多文件并行上传

    一 web worker: 什么是web worker Web Worker为Web内容在后台线程中运行脚本提供...

  • Javascript:Web Worker基础

    参考资料Web Workersweb worker详解Blob对象 Web Worker分为专属Worker(De...

  • Web Worker学习总结

    2019/8/15 概述Web Worker 就是运行在 后台 的JS,不会影响页面的性能!!!!Web Wor...

  • web worker

    web Worker web Worker 文件单独写在一个文件中,在main worker 中 执行的文件里使用...

  • Web Worker

    一、Web Worker 1. Web Worker是 运行在后台的javascript,也就是说worker其实...

  • 为你写的网页“提速”---Web Worker

    认识Web Worker Web Worker是 运行在后台的javascript,也就是说worker其实就是就...

  • Web Worker

    什么是Web Worker? Web Worker是 运行在后台的javascript,也就是说worker其实就...

  • NFH.009 - Web Worker与Web Socket

    12.22学习经验分享# Bruce_Zhu于2016.12.23 一、Web Worker Web Worker...

  • service worker

    Service Worker是继web Worker后又一个新的线程,这个线程比web worker独立得更彻底,...

网友评论

      本文标题:web worker总结

      本文链接:https://www.haomeiwen.com/subject/yxeevrtx.html