曾經的單線程模型在同步I/O的影響下,因爲I/O調用緩慢,應用層面CPU和I/O沒法重疊進行。可是該模型符合編程人員的閱讀思惟習慣,所以同步I/O盛行了不少年。可是該模型存在性能問題,過去能夠經過多線程的方式提高性能。可是從操做系統調度多線程的上下文切換開銷,到實際編程裏鎖,同步等問題,讓開發人員頭疼的時候並很多。javascript
Node帶來的最大優點是基於事件驅動的非阻塞I/O模型。Node經過事件循環的方式實現異步I/O,javascript線程負責分配任務和處理結果。I/O線程池裏的線程完成分配的任務。因此能夠保持總體的高效率。java