Node 和 Java 的对比
Node 和 Java 的对比
Java 特点
-
请求到来的时候可以多开一个线程去处理,也就是说多个线程去处理多个请求, 适合cpu 密集型 (运算)。每个线程会等待 I/O 的处理(阻塞式),等处理完毕再返回结果
-
同一资源上锁问题
-
多线程靠的是切换上下文,会浪费一些性能
Node 特点
-
事件驱动
-
非阻塞式 I/O(文件读写)
js主线程执行是单线程的,但是在读取文件的时候node会多开一个线程(不会阻塞js线程)去处理,当这个线程处理完毕时会通过事件驱动通知js线程。node是多线程的,但js执行过程是单线程的。
Node中js执行是单线程的,不需要开启多个线程,节约资源,但不适合做大量运算,适合执行一些异步 I/O 操作但Node可以多开一个子进程