|
|
“单线程模型”
“单线程模型” 是 event loop模型(类似Nginx), 既然主线程就一个事件循环(长期run), 就没有线程同步问题(例如计数器就直接累加就可以)
之前用java的Spring是每一个请求都创建一个线程(多线程),虽然更安全(不怕子线程崩溃),但对cpu和内存消耗比较大(独占一份资源).但多线程竞争要自己控制(同步锁,单例什么的)
非阻塞
非阻塞 是 主线程把高耗时的工作(例如IO)交给操作系统或其他进程处理, 等处理完了再回到event loop里(等xxx再yyy是异步), 继续循环
相对java某进程没处理完就卡在那等着(同步), 会比较节省资源
可以多进程
cluster是多进程api(包括管理进程,进程通信等),因为有了cluster让nodeJS的多进程编程比较容易
看例子, node可以多进程没什么异议
|
|
|
|