微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Napa.js 基于 V8 的多线程 JavaScript 运行环境

程序名称:Napa.js

授权协议: MIT

操作系统: 跨平台

开发语言: C/C++

Napa.js 介绍

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 执行和事件轮询拆分到不同的线程中。

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

Napa.js 官网

https://github.com/Microsoft/napajs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐