我对node.js比较新.我有一个与之相关的问题.据我所知,node.js使用事件驱动的范例,因此它只生成一个线程并以异步方式处理所有内容(事件驱动方式).这有助于消耗更少的资源并处理大量的同时连接.
但是,我有一个与此相关的问题,因为它只有一个线程,即使是一个未处理的异常也可能崩溃,一切都不是它.与node.js webserver一样,apache可以使用多个进程来处理多个连接,即使一个进程崩溃也没关系.
所以,我有点担心node.js是否有用.我只是个初学者.所以任何见解都会有所帮助
让我们用一个类比来解释这个相对较新的技术:一个电唱机和十个用户:
PHP 多线程:10个电唱机,每个电唱机有一个手臂+唱针,每个用户有一个电唱机。每个用户都用自己的电唱机演奏一些音符。未处理的异常,或嘶嘶声=电唱机继续播放,直到用户抬起手臂/进程关闭。其他人听不到,因为他们有自己的电唱机。而且他们都戴着耳机。
NodeJS:单线程
一台电唱机,有 10 个臂+针,每个用户一个,他们都共享一台电唱机。每个用户都会同时不记录地访问一些简短的笔记、一个流程。它是异步的,每个人都能听到一段音乐。未处理的异常 = 一个用户的嘶嘶声笔记,只有那些访问相同的几个笔记或抛出异常的同一进程的人也会听到嘶嘶声。但仅此而已。其他人仍然会听到甜美的音乐。他们仍然有自己的耳机。
K. 不再有不好的类比了。
这是您假设的问题的解决方案:在 Node.js 中,您可以将侦听器附加到“uncaughtException”事件。因此,如果有问题的进程会或可能在极少数情况下关闭服务器,您可以杀死该进程。
| 归档时间: |
|
| 查看次数: |
311 次 |
| 最近记录: |