javascript - Node 的 C++ 附加组件,非阻塞?

标签 javascript c++ node.js

我想知道用 Node 制作一个相当大的 Web 应用程序,然后遇到 c++ 附加组件的概念,并且对这个概念完全陌生;是用 C++ 为 Node.js 编写的附加组件会阻塞线程吗?

例如一个数学算法,当然是异步运行的,如果用 JS 实现会阻塞线程。

最佳答案

native 代码附加组件可以编写为阻塞或非阻塞。例如,fs.readFile()fs.readFileSync() 都有原生代码插件实现(它们恰好是内置插件,但界面基本相同)。因此,这取决于您如何实现附加功能,以确定它们是否具有异步接口(interface)(并通过事件队列传回结果)或只是阻塞功能。

native 附加代码中的数学计算必须创建它自己的 native 线程或进程,以便异步和非阻塞地运行。但这当然可以做到。

您可以通过将代码放入另一个进程(用任何语言编写)然后通过 http 接口(interface)从 node.js 与它通信来制作类似这样的原型(prototype)。您甚至不必通过 node.js 插件来完成。

关于javascript - Node 的 C++ 附加组件,非阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006103/

相关文章:

javascript - javascript 中的函数上下文问题 - 主干

C++删除c字符串数组/其他类型的数组

javascript - 如何添加保存另一个模式数据到模型中?

javascript - `npm build` 没有在 package.json 中构建 't run the script named "

javascript - 如何在NodeJS中的MySQL查询中增加外部变量值

php - 有没有办法从 URL 获取 Facebook 见解数据并将其放入 php 变量中?

javascript - 当发生多个转换时,如何检测 'specific' 元素上的 CSS 转换结束?

javascript - 简单继承

c++ - 如何使用从 on_read 处理程序调度的最终回调将响应异步返回给调用者?

c++ - 在 C++ 中正确实例化一个对象