腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何通过Node.
js
中的
线程
池处理
阻塞
I/O?
、
我最近学习了Node.
js
,并尝试深入了解Node.
js
体系结构。但是,在浏览了多篇文章和链接(如堆栈溢出、node.
js
博客)之后,我仍然感到困惑的是,具有事件循环的单
线程
和作为客户端请求或事件一部分的多
线程
阻塞
I/O请求如何同时发生。根据我的研究,带有事件循环的单
线程
继续在事件队列上轮询,以了解客户端请求是否已经出现。一旦找到事件或请求,它就会检查它是
阻塞
i/o还是非
阻塞
操作。如果发现它是非
阻塞</em
浏览 1
提问于2016-06-24
得票数 0
回答已采纳
1
回答
Node.
js
中工作
线程
阻塞
系统调用的解决方案
、
、
、
、
最近,我在tanenbaum的操作系统书籍中了解到了用户级
线程
和内核级
线程
。由于用户级
线程
是由库包处理的,并且使用过node.
js
,所以我得出结论,node.
js
使用libuv处理工作
线程
,因此使用用户级
线程
。但是,我想知道当某个工作
线程
发出
阻塞
的系统调用时,node.
js
如何处理这种情况,然后内核将
阻塞
整个进程,即使某些
线程
能够运行。
浏览 2
提问于2020-11-05
得票数 1
回答已采纳
2
回答
Node.
js
数据库访问会
阻塞
主
线程
吗?
、
、
我读了一些关于node.
js
的资料,我有点困惑,因为在node.
js
服务器中,什么是
线程
阻塞
,在这种情况下,连接到一个数据库(heroku postgres)app.get('/searchanother db transaction**我的问题是,这是否会
阻塞
主
线程
是否所有与npm模块交互的东西都会通过事件循环抛出,
浏览 2
提问于2015-08-07
得票数 0
3
回答
Node.
js
什么时候
阻塞
?
、
、
、
我使用Node.
js
已经有一段时间了,我刚刚意识到它可能会
阻塞
。我只是不能把我的大脑包围在Node.
js
被
阻塞
的条件下。因此,Node.
js
是单
线程
的,因为(i) Javascript是和(ii)避免了所有多
线程
陷阱。 但是,所有传入的执行某些工作的请求(即与DB对话)以及必须返回到客户端的所有工
浏览 0
提问于2016-04-16
得票数 8
2
回答
node.
js
的内部结构。它实际上是如何工作的?
、
也许实现node.
js
模块的人可以解释在单
线程
上处理的node.
js
队列和将由模块执行的
阻塞
IO操作之间的协议。我怀疑它是这样的: node.
js
线程
以闭包的形式注册回调,并将其与某个相关id一起保存。 node.
js
在模块上调用方法(应执行
阻塞
IO),并将方法参数和相关id传递给它。模块方法剥离
线程
并在IO时
阻塞
node.
js
IO操作完成,模块的
线程
回调到node.
js
浏览 25
提问于2011-12-20
得票数 18
1
回答
Node.
js
和C/C++集成:如何正确实现回调?
、
、
、
我正在尝试实现一个C++扩展,以便与node.
js
集成。这个扩展将在内部调用一些
阻塞
调用,因此它需要为node.
js
世界提供一个非
阻塞
接口。正如中所指定的,有两种实现非
阻塞
回调的方法: ( a)使用对JavaScript函数的简单回调。因此,我的扩展必须生成一个
线程
并立即返回,让该
线程
调用
阻塞
代码,然后在返回时调用JavaScript回调。这似乎相对容易实现。( b)通过使用libuv库,以便(如果我正确理解的话)将一个事件发送到node.
js
浏览 0
提问于2015-06-16
得票数 4
回答已采纳
1
回答
第三方代码
阻塞
了主
线程
延迟和异步不解决它。
、
、
我正在努力提高使用第三方
JS
的网站的性能(就像他们所做的那样:)。减少了第三方代码
阻塞
主
线程
的影响。由于每个
JS
都通过下载、解析和执行脚本来
阻塞
关键路径,所以我将所有非关键的
JS
推送到页面底部,并添加了延迟属性。 尽管如此,我仍然认为特定的
JS
资源是
阻塞
主
线程
。延迟资源应该并行下载并在呈现完成后执行,所以我真的不明白为什么灯塔总是在主
线程
阻塞
资源列表中显示它。当然,它在
浏览 3
提问于2021-04-27
得票数 1
1
回答
ASP.NET核心与Node.
js
相似性
、
、
、
、
我使用Node.
js
已经有一段时间了。我在很大程度上了解它的内部工作原理(事件循环和其他东西),但是ASP.NET Core看起来非常类似于Node.
js
。in previous ASP.NET versions too)因此,以下结论是否正确: Node.
js
只有一个
线程
来执行javascript代码(同步),还有许多用于后台异步操作的工作
线程
。ASP.NET核心使用多个
线程
执行.NET代码(同步),使用许多工作
浏览 1
提问于2016-09-22
得票数 1
3
回答
Node.
JS
中单
线程
事件循环与多
线程
非
阻塞
工作
线程
、
、
Node.
JS
最大的优点是它的非
阻塞
特性。它是单
线程
的,所以它不需要为每个新的传入连接产生新的
线程
。也许我误解了什么,但到底优势在哪里。如果有太多的任务要处理,非
阻塞
工作不会变成
阻塞
工作吗? 感谢克里斯蒂安
浏览 4
提问于2014-02-01
得票数 21
回答已采纳
1
回答
使用rabbitmq与多
线程
的区别
、
、
、
如果我错了,请纠正我,但是,我用Ruby开发了一段时间,其中最明显的缺点之一就是缺乏多
线程
。最近,我一直在探索节点
js
,特别是它的非
阻塞
IO“功能”。我的问题是: 为什么要使用单
线程
语言并使用rabbitmq来实现异步,而您只需要使用一种多
线程
语言,比如节点
js
,您就可以并行地触发1000个请求,并且它们都可以同时完成?与其他多
线程
语言相比,节点
js
有什么创新吗?我想我真正想问的是:节点
js
、非
阻塞
IO和多<em
浏览 5
提问于2014-04-19
得票数 2
回答已采纳
3
回答
V8引擎在Node.
js
中扮演什么角色?
、
、
、
、
在过去的几天里,我一直在研究基于Node.
js
事件的样式如何能够处理比传统多
线程
方法更多的并发请求。最后是减少内存占用和上下文切换,因为Node.
js
只使用两个
线程
( V8单
线程
和一堆C++工作
线程
加上libuv的主
线程
)。我认为这样做的想法是:与其同时
阻塞
客户端
线程
和数据库
线程
,不如只
阻塞
数据库
线程
,并在结束时通知客户端
线程
。 这就是我理解Node.
js
浏览 3
提问于2016-01-23
得票数 1
1
回答
Dart/Flutter如何并发执行代码,即使它是单
线程
的?
、
、
我是Dart/Flutter的新手,有一些Node.
js
背景,我知道Dart和Node.
js
有一些相似之处,比如事件循环和单
线程
。但是我很难理解Dart是如何处理
阻塞
I/O操作的async的,尤其是像文件系统和数据库操作这样的内部I/O。 对于Node.
js
,当它处理
阻塞
I/O时,比方说读取文件内容。它将文件系统操作放在Thread Pool中,然后Node.
js
并发(而不是并行)运行主
线程
中的下一行代码,同时文
浏览 1
提问于2021-04-24
得票数 1
1
回答
node.
js
实际上是如何处理事件循环的?
、
如果我们还想处理其他事件,比如在同一个节点进程中服务HTTP请求,我发现不可能使用process.nextTick()来调整
JS
上的CPU时间,因为process.nextTick的事件循环中的oberver然后,事件循环继续执行他的工作,如compute() 我错了吗?任何帮助都将不胜感激。
浏览 2
提问于2014-08-16
得票数 1
1
回答
如何使用节点
js
操作多个函数的结果集
、
、
、
我有节点
js
文件restservice.
js
和mysql.
js
在restservice.
js
中,我有一个api,它的代码如下:};我需要在mysql.
js
浏览 4
提问于2013-08-04
得票数 0
回答已采纳
2
回答
节点
js
: libuv
线程
池是如何工作的?
、
、
我正在学习节点
Js
,我知道节点
js
的核心是基于事件循环的反应堆模式。当任何事件发生时,它会进入事件队列,然后在运行任务结束后由堆栈获取,如果事件是非
阻塞
的,但是如果事件是
阻塞
请求,则事件循环会将其从libuv
线程
池传递给
线程
。现在我的怀疑是: 一旦执行结束,libuv
线程
会将请求传递回事件队列或事件循环吗?不同的教程有不同的场景。libuv中的
线程
池还有3个
线程
,现在假设10个用户同时登录(比如facebook之类的应用程序),如
浏览 0
提问于2018-06-06
得票数 3
3
回答
node.
js
中的异步/等待理解
、
、
、
、
引用的一个答案 在C#中,编写用async标记的函数并用await调用就足够了,因此.Net将其放在另一个
线程
中。然而,它混淆了在Node.
js
中组织不同的东
浏览 4
提问于2017-10-31
得票数 2
回答已采纳
1
回答
理解libuv / epoll /无
阻塞
网络IO
、
、
、
、
我试图了解非
阻塞
网络IO是如何在Node.
js
/libuv中工作的。我已经发现文件 IO是使用libuv工作
线程
完成的(因此,在后台
线程
中)。但是,许多地方都指出,网络 IO是使用epoll、kqueue等系统调用(取决于操作系统)以非
阻塞
方式完成的。现在,我想知道这是否意味着实际的IO部分(read())仍然在主
线程
上执行,从而
阻塞
,即使使用了epoll?就我的理解而言,epoll只通知可用的事件,而不实际进行读/写。至少在我发现的示例中(例如,)
浏览 1
提问于2018-05-29
得票数 3
1
回答
减少第三方代码的影响- Google CDN
、
、
、
、
似乎我的页面速度得分受到了这个问题的严重影响:这是来自页面速度洞察力的信息:Google CDN 40 KB 1,001 ms我该怎么做才能提高速度我注意到,向我的站点添加更多的
JS
代码,或者删除它,会影响到这个“主
线程</e
浏览 1
提问于2019-12-12
得票数 4
2
回答
Java NIO非
阻塞
模式与node.
js
异步操作
、
、
、
、
我还没有看过node.
js
的代码细节。 但是,通过对Node.
js
中
线程
的一些研究,我发现它只有一个
线程
来接受来自多个客户端的连接。当与客户端连接时,它触发连接事件并监听另一个客户端,完全以异步方式工作,客户端请求的rest操作从
线程
池中执行,结果通过回调返回给主
线程
(接受连接的
线程
)。就像Java NIO中的wise和ServerSocketChannel一样,SocketChannel可以设置为非
阻塞
模式,并且通过选择器,单
线程
可
浏览 1
提问于2013-12-23
得票数 17
1
回答
bcrypr异步与同步node.
js
、
、
问题很简单,即使我们在node.
js
中使用带Bcrypt模块的异步模式,它是不是仍然在bcrypt循环中耗尽了cpu?它不像在其他地方执行的db读取,而是CPU操作。
浏览 4
提问于2015-11-25
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
服务器模型——从单线程阻塞到多线程非阻塞(上)
服务器模型——从单线程阻塞到多线程非阻塞(下)
服务器模型——从单线程阻塞到多线程非阻塞(中)
Node.js应用守护线程。
Java并发编程:如何防止在线程阻塞与唤醒时死锁
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券