信息谷 - ICITU

标题: Napa.js 基于 V8 的多线程 JavaScript 运行环境 [打印本页]

作者: sxadmin    时间: 2021-10-25 10:15
标题: Napa.js 基于 V8 的多线程 JavaScript 运行环境
Napa.js 是微软开源的一个基于 V8 的多线程 JavaScript 运行环境。它最初被设计用于在 Bing 中开发不影响性能的高度迭代服务, 随着发展,Napa.js 被发现在 CPU-bound 任务中能有效补充 Node.js ,具备在多个 V8 隔离中执行 JavaScript 并在它们之间进行通信的能力。 Napa.js 作为一个 Node.js 的模块公开,它也可以嵌入到没有 Node.js 依赖关系的主机进程中。
概括来讲,Node.js 是异步的,JS 代码执行和事件通知运行在一个线程中,JS 代码中的耗时操作会挤占事件轮询的 CPU 时间。Napa.js 的出现,很好的对这个缺陷进行了补充,将 JS 执行和事件轮询拆分到不同的线程中。
Quick Startvar napa = require('napajs');var zone1 = napa.zone.create('zone1', { workers: 4} );// Broadcast code to all 4 workers in 'zone1'.zone1.broadcast('console.log("hello world");');// Execute an anonymous function in any worker thread in 'zone1'.zone1.execute(    (text) => {        return text;    },     ['hello napa'])    .then((result) => {        console.log(result.value);    });





欢迎光临 信息谷 - ICITU (https://icitu.com/) Powered by Discuz! X3.4