Nodejs C/C++将使用多个Core
Nodejs C/C++ Will use more than one Core?
我知道NodeJS在单个核心中运行。但是,如果我构建了一个实现了多线程的NodeJS C/C++插件,会发生什么?这个插件将消耗多个核心(当它被认为是)?
node.js只使用一个线程/内核来运行Javascript解释器。
但是node.js在C++中实现的各种库函数或附加函数(如文件I/O)中确实可以使用多个线程/内核。事实上,node.js用于文件I/O的libuv库使用线程轮询作为异步、非阻塞文件I/O实现的一部分。这不会影响Javascript解释器的"单线程性",但有助于实现异步文件I/O等外部函数。
所以,如果你的插件在C++中使用了多个线程,那就没问题了。它将不得不与运行Javascript解释器的一个主线程进行通信。
但是,如果我构建了一个NodeJS C/C++插件实现了多线程?
如果需要的话,您的C++插件可以在其实现中自由使用多个线程。如果它有多个线程在运行,它将不得不以线程安全的方式与主Javascript线程通信。
nodejs本身并不局限于单线程,而是js代码的执行。如果需要的话,Nodejs和你在c/c++中编写的所有插件都可以在内部生成线程。
相关文章:
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- C++包含来自 #include "DevEngine/Core.h" 的错误
- 是否可以在Linux上使用.Net Core 3.1创建C++/CLI代码的C#DLL
- 构建 TensorFlow r1.14 C++文件时缺少文件"tensorflow/core/framework/types.pb.h"
- 不要使用静态强制转换进行算术转换(cpp-core-guidelines)
- C++ DLL(不是 CLI)是否可以调用 .NET Core 3.0 委托?
- C++/CLI targetting .NET Core 3.1
- 同时使用Opengl CORE函数以及Comptability Profile - GLFW
- 是否有可能构建面向Linux和Windows的.Net Core C++ / CLI应用程序?
- 为什么此代码中显示"*** stack smashing detected ***: <unknown> terminated Aborted (core dumped) "错误?
- 避免在使用WinAPI(Windows Core Audio)时无效的指针
- 在.NET Core 3.1中运行托管C++/CLI程序集时,映像格式错误
- 以C++为目标的Windows Server Core
- 无法将 c# .Net Core 3.0 与 directx 9.0 依赖项链接
- 如何从.NET Core调用cygwin编译的C++
- 在.NET Core中是否有与DllImport等效的Linux?
- 如何修复访问动态数组中结构中的字符串变量时"segmentation fault (core dumped)"错误
- 将结构数组从 C#(.NET Core) 传递到 C++(unamnaged)
- Linux 上的 .NET Core - 元帅结构
- 创建一个简单的类及其变量和函数不断返回" segmentation fault (core dumped)"、C++