首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nodejs C/C++会使用多个核心吗?

Nodejs C/C++会使用多个核心吗?
EN

Stack Overflow用户
提问于 2015-12-03 16:39:20
回答 2查看 241关注 0票数 2

对于一个事实,我知道NodeJS运行在一个单独的内核中。但是,如果我构建了一个具有多线程实现的NodeJS C/C++插件,会发生什么呢?这个副词会消耗不止一个核心(当它是应该的时候)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-03 16:47:20

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线程进行通信。

票数 5
EN

Stack Overflow用户

发布于 2015-12-03 16:45:35

nodejs本身并不局限于单线程,而是js代码的执行。如果需要,Nodejs和您在c/c++中使用的所有加载项都可以在内部生成线程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34071435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档