zoukankan      html  css  js  c++  java
  • WebWorker的importScripts方法

    简述

      在《JavaScript高级程序设计(第三版)》中,提到WebWorker的importScripts方法是异步执行的,然而在

    另一本书《Javascript权威指南》中,却说importScripts是一个同步方法,两者矛盾,故私底下测试一番,发现

    该方法确实是同步执行,待所有js问价解析执行完毕再执行后续代码。

      另外,importScripts方法是可以嵌套执行的。

      如:

      index.html:

        <script>
            var w = new Worker("worker1.js");
            w.onmessage = function(e){
                console.log(e.data)
            }
            w.postMessage("from index ...")
        </script>

      work1.js:

      importScripts("t1.js");
      console.log("worker1.js");
      onmessage = function(e){
          console.log(e.data)
      }

      t1.js:

        importScripts("t2.js")
        console.log("this is the t1.js ...")
        

      t2.js:

        console.log("this is the t2.js ...")

      返回结果:

      

        this is the t2.js ... 
        this is the t1.js ...
        worker1.js
        from index ...  

    其他

      worker线程,同步运行代码,当worker线程并没有绑定onmessage事件处理程序并且没有其他异步回调或者定时器外,代码执行完毕就销毁该线程。如果线程没有onmessage,但是有异步回调,则等待回调执行。

  • 相关阅读:
    C#线程使用学习
    C# 线程
    C# Lambda表达式与Linq
    C#聚合运算方法
    责任链模式
    代理模式
    享元模式
    门面模式(外观模式)
    桥梁模式
    设计模式-创建型、结构型、行为型之间的区别
  • 原文地址:https://www.cnblogs.com/accordion/p/4207749.html
Copyright © 2011-2022 走看看