国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

nodejs中實現阻塞實例

2019-11-20 12:52:18
字體:
來源:轉載
供稿:網友

node.js中與生俱來的單線程編程、回調函數異步式風格讓我們有時喜有時憂。先說單線程,很多人會費解于node.js的單線程如何能做到高并發?這個問題不是本文重點,點到為止。澄清一點,node.js的單線程僅僅指javascript引擎是單線程的,無論如何我們沒有辦法在javascript中實現多線程和阻塞(本文用到的方法同樣不是通過V8引擎實現同步的);但對于node.js的其他方面不代表不能多線程,例如IO。如果現在node.js遭受大量請求,而這些請求都是IO密集型的,那么此時node每接受一個請求,在遇到耗時較長的IO操作時,javascript線程并不會一直在此等待,而是交出控制,在回調堆棧里添加IO操作完成后要執行的操作(當回調層級過多,訪問數量過大,大量的回調鏈可能會爆棧)。而在這段時間內,node.js又可以處理其他請求了。所以對于node.js而言,雖然javascript是單線程的,每次只能處理一個請求,但javascript處理一個請求的時間往往較短(對于IO密集型應用而言),只要可以異步處理,那么在處理的過程中,此次請求都會釋放控制,使node.js能處理其他請求。這并發請求的同時,IO其實一直處于并發狀態,減少處理請求的線程數,節約資源以增加IO的線程數,對于通常耗時很長的IO密集型請求來說,無疑能帶來性能上的提升。

前面

主站蜘蛛池模板: 寿宁县| 华容县| 宣汉县| 都江堰市| 深州市| 彝良县| 铜鼓县| 伊宁市| 鲁山县| 陕西省| 天津市| 耒阳市| 南华县| 二连浩特市| 洛川县| 芦山县| 七台河市| SHOW| 增城市| 峨眉山市| 松阳县| 房产| 五河县| 饶平县| 玛纳斯县| 周宁县| 绍兴县| 靖安县| 云安县| 淄博市| 汝城县| 普宁市| 双辽市| 昌图县| 库伦旗| 康定县| 肃宁县| 微博| 凯里市| 自治县| 土默特右旗|