美文网首页
web worker

web worker

作者: ahappyone | 来源:发表于2018-10-12 16:14 被阅读0次

参考文档:http://www.ruanyifeng.com/blog/2018/07/web-worker.html

背景:充分利用 CPU 能力,多线程运行脚本

实践(下方代码):简单的主线程与 worker 之间的通信、终止 wroker

其他适用场景:需浏览器轮询服务器

<!DOCTYPE html>

<html lang="en">

    <meta charset="UTF-8">

    <title>Title

    <div id="hi">

    <div id="hello">

    hehe da

        function createWorker(f) {

let blob =new Blob(['(' + f.toString() +')()']);

            let url = window.URL.createObjectURL(blob);

            let worker =new Worker(url);

            return worker;

        }

// worker

        let pollingWorker =createWorker(function (e) {

// 往主线程发消息

            setInterval(function () {

self.postMessage('hello');

            }, 1000);

            // 接收主线程消息

            self.addEventListener('message', (e) => {

self.postMessage('nonono');

            })

// 内部关闭woker

            setInterval(() => {

self.close();

            }, 10000)

});

        // 主线程接收消息

        pollingWorker.onmessage =function (e) {

console.log('data:', e.data);

            let $ele = document.getElementById('hi');

            let text = $ele.innerHTML;

            $ele.innerHTML = (text + e.data);

            // render data

        }

// 主线程发送消息

        pollingWorker.postMessage('init');

        // 主线程终止woker

        setInterval(() => {

pollingWorker.terminate();

        }, 20000)

</html>

相关文章

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

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

  • Javascript:Web Worker基础

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

  • 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

    Web Worker Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 ...

  • Web Worker的使用

    什么是 Web Worker? Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主...

网友评论

      本文标题:web worker

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