274得票4回答
libuv和Boost/ASIO相比有何优劣之处?

我对以下方面很感兴趣: 范围/特性 性能 成熟度

36得票6回答
“EXDEV:跨设备链接不允许”错误是什么意思?

这个错误实际上是什么意思?"cross-device link"是什么? 在这个libuv页面中提到了它,但除了"不允许跨设备链接"之外,没有提供任何细节。

34得票1回答
Node.js中异步JavaScript是如何解释和执行的?

最近我一直在研究Node.js的核心,对Node平台的内部运作机制有些疑问。据我了解,Node.js的工作原理如下: Node拥有一个用Javascript编写的API,允许程序员与文件系统和网络等事物进行交互。然而,所有这些功能实际上都是由C/C ++代码完成的,这也是Node的一部分...

29得票4回答
事件循环、libuv和v8引擎之间的关系

我正在学习Node.js的架构,以下是我的问题: 事件循环是libuv还是v8的一部分? 事件队列是事件循环的一部分吗?事件队列由libuv或v8引擎产生,还是由事件循环本身产生? libuv和v8引擎之间有什么关系? 如果事件循环是单线程的,那么libuv会创建多个线程来处理文件I/O吗...

29得票1回答
Node.js 到底会创建多少个线程?

阅读了这个很棒的答案关于Node.js线程的性质后,我开始尝试使用UV_THREADPOOL_SIZE系统变量来改变线程池的大小,然后我发现了一些有趣的事情: 当我设置process.env.UV_THREADPOOL_SIZE = 10; 我的Node进程中有15个线程(我认为应该是10个...

27得票3回答
Node.js绑定是什么?

我对node.js非常陌生,似乎找不到任何关于node.js绑定的定义。我在幻灯片和node.js讲座中看到过这个术语,但从未得到清晰的解释。有人能帮我澄清这个概念吗?我附上了一张我所指的图片。

25得票3回答
为什么在Node JS中需要LIBUV?

也许这个问题太菜鸟和新手了,但我仍然不知道为什么LIBUV在Node JS架构中占据一席之地?下面是我的对Node.js架构的理解: Node Js是建立在V8之上的 V8能够运行使用EcmaScript标准编写的代码 V8是用C++编写的 因此,如果要提供任何新功能,我们可以将V8嵌入我们...

25得票2回答
关于Node.js内部异步I/O机制的困惑

我了解到在*nix平台上,node.js使用libeio内部执行异步文件 I/O,并且有线程池,我的理解是对的吗? 那么异步网络 I/O 呢? 是由libev完成的吗?这里也有一个线程池吗? 如果有线程池,它如何比传统的一线程请求模型更有效率?它是否是一个I/O请求一个线程? 在Windo...

16得票1回答
libuv是否线程安全?

我创建了一个专门用于 libuv 循环的新线程。线程函数看起来像这样:void thread_function() { uv_loop_t *loop = uv_loop_new(); uv_ref( loop ); uv_run( loop ); } 通过增加引用计数器,线程能够...

15得票2回答
C优化:条件存储以避免污染缓存行

在libuv源代码中,我发现了这段代码: /* The if statement lets the compiler compile it to a conditional store. * Avoids dirtying a cache line. */ if (loop-...