zoukankan      html  css  js  c++  java
  • web-worker 的使用

      JavaScript采用的是单线程模式,它每次也只能执行一个事件,所以它在加载大量的事件的时候会比较慢。

    而web-worker的作用就是给JavaScript提供一个多线程的模式。

      注意的是

        web-worker是无法操作DOM的节点的,它不能再主线程中调用的子线程中的函数,并且只能使用原生js进行编写。

        还有web-worker我在网上看见说是在部分浏览器里面是无效的,我在电脑上Google及Safari(电脑上仅有这两个浏览器╮( ̄▽ ̄)╭)上面测试了一下是没有问题的。

    web-worker的使用

      创建主线程

        使用new来创建一个worker的函数,

    var worker = new Worker("./work.js") 
    

        然后使用worker.postMessage('...')向子线程方式数据

        接收子线程的数据

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

      子线程

        在主线程中想子线程发布的数据使用

    onmessage =function (event){
        var mar_skt = event.data;   //通过event.data获得发送来的数据
        console.log(mar_skt);       //打印数据
    }
    

        然后在使用postMessage向主线程发生在子线程内容执行完毕的内容

    postMessage(data)
    

      在不想要worker的时候也可以直接使用terminate()来结束它

    worker.terminate();
    

      

  • 相关阅读:
    属性注入(依赖注入)
    Spring之ioc
    Spring初始案例
    ::before和::after伪元素、:visited和:link、transform: scaleX(2);的使用
    给博客博文加上日期分类(set、map)
    Jquery父子选取心得
    先从css3开始拾起
    尝试博客文章一号
    Response.setContentType()
    pom配置详解
  • 原文地址:https://www.cnblogs.com/nixu/p/10595747.html
Copyright © 2011-2022 走看看