Content deleted Content added
https://en.wikipedia.org/wiki/Wikipedia:External_links |
|||
Line 233:
=== Internals ===
Node.js uses [[libuv]] under the hood to handle asynchronous events. Libuv is an abstraction layer for network and file system functionality on both Windows and [[POSIX]]-based systems such as Linux, [[macOS]], OSS on [[NonStop (server computers)|NonStop]], and Unix. Node.js relies on
=== Threading ===
Node.js operates on a [[Single threading|single-thread]] [[event loop]], using [[non-blocking I/O]] calls, allowing it to support tens of thousands of concurrent connections without incurring the cost of thread [[context switch]]ing.<ref>{{cite web|url=http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/|title=Node.js w/1M concurrent connections!|work=caustik's blog|date=19 August 2012}}</ref> The design of sharing a single thread among all the requests that use the [[observer pattern]] is intended for building highly concurrent applications, where any function performing I/O must use a [[Callback (computer programming)|callback]]. To accommodate the single-threaded event loop, Node.js uses the [[libuv]] library—which, in turn, uses a fixed-sized thread pool that handles some of the non-blocking asynchronous I/O operations.<ref name="readwrite" />
Line 246 ⟶ 247:
=== Package management ===
[[npm (software)|npm]] is the pre-installed package manager for the Node.js server platform. It installs Node.js programs from the
=== Event loop ===
|