首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么无阻塞节点减少I/O总时间?

为什么无阻塞节点减少I/O总时间?
EN

Stack Overflow用户
提问于 2018-09-13 07:54:00
回答 2查看 64关注 0票数 0

有一个节点教程指出:

节点是一种无阻塞I/O系统.如果有一个任务消耗时间m,另一个任务消耗时间n(m'<'n).then,则阻塞I/O m+n中的总消耗时间为'm+n‘,在节点中为n。

但是,因为javascript是一种单线程语言。我认为这不会减少任务的所谓事件循环的时间,对吗?

在遮罩下,是否都是因为节点使用C/C++多线程来实现的。

好的,.My的主要混淆是I混乱I/O消耗时间包括在javascript计算中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-13 08:06:47

是。Javascript是一个单线程的,但具有非阻塞IO实现。上面的行意味着您必须从服务器获得HTTP响应,服务器是使用计算机的网络接口的IO,所以当HTTP响应出现时,线程是空闲的( CPU上没有计算,CPU线程是空闲的),所以它可以继续执行其他任务--可能会呈现页面。

挂起Javascript线程的唯一方法是更高的执行率。我觉得你在做某种大规模的计算。在这种情况下,是的,你的进程被阻止了。但这不是IO (输入或输出)。

因此,您对IO非阻塞和CPU线程阻塞感到困惑。

票数 1
EN

Stack Overflow用户

发布于 2018-09-13 08:05:14

节点,基本上不会在减少单个任务的执行时间方面发挥主要作用,但它类似于并行处理。这意味着它不会等待其他任务的完成,并且可以同时执行多个任务。正如您所知道的,多个线程同时执行以使用最大cpu和内存(以毫秒为单位),因此我们将感觉到所有线程都同时执行。

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

https://stackoverflow.com/questions/52309044

复制
相关文章

相似问题

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