rin*_*rin 5 multithreading node.js
我有两个菜鸟问题:
1)为什么node.js在一个线程中运行?为什么不只是使用过程本身?或者在线程而不是进程中运行它有什么好处?
2)如果进程中的某个线程崩溃会发生什么(我知道,未处理的异常将导致进程退出),但是如果它正确捕获会发生什么?或者像浮点异常这样的例外.这个过程也会崩溃吗?
我认为您对这种情况下“单线程”的含义有点困惑。Node.js 本身在后台利用多个线程以异步方式处理阻塞调用。
Node.js 核心(JavaScript 引擎)是单线程的。缺乏多线程和事件循环的可用性使得编程变得更加容易。简而言之,您不必处理多线程带来的所有并发问题,这样您的代码就更具确定性。
万一一个线程崩溃,无论这是唯一一个还是众多线程中的一个,都完全无关紧要,如果代码崩溃,你所能期望的最好的事情就是程序随之终止,没有什么比让你的程序继续运行更麻烦的了部分损坏的状态。想象一下崩溃的线程负责将数据保存到磁盘,现在您的程序继续运行而不再保存。
| 归档时间: |
|
| 查看次数: |
3931 次 |
| 最近记录: |