微软开源的基于V8 的多线程JavaScript运行环境Napa.js

  • 开源协议:MIT
  • 操作系统: Windows Linux OS X
  • 开发语言:C/C++
  • 项目所有者:Microsoft
  • 所属公司:微软
  • 收录时间:2017-10-19
  • 分享:
编辑评级
3

项目详细介绍

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 Start

var   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);
            });