1樓:alsotang
專門來答個題支援一下 @Twiknight 。
樓主的截圖是對 Node.js 一開始技術選型的說明,而且樓主的問題是帶有曲解的。
Node.js 是帶有 IO 功能的。但 js 作為一門程式語言是不帶有 io 功能的。
js 只有語言規範,一開始主要是跑在瀏覽器中,而在瀏覽器中的 ajax 之類的行為,都是瀏覽器的 api,而非 js 本身的 api。
所以就 js 本身來說,並沒有規定或者說共識來決定,它在後端應該變現出怎樣的檔案訪問行為或者網路訪問行為。這時候,node.js 的作者才方便賦予它這些行為。
假設一門語言的標準庫裡面已經有 io 庫了,在 2009 年的時候,這種 io 庫一般都是同步的。但大眾使用著這門語言預設的同步io庫,並且基於它開發了很多上層庫的時候,你突然搞個非同步的進去,會讓後來的程式設計很混亂。稍微一不注意就會阻塞整個程序的運作。
python 在使用 tornado 的時候就很多這類同步 io 庫的問題需要注意。
2樓:李自樂
不是不要io 不要io還怎麼做web? 是不要同步io node優勢在於非同步非阻塞這是同步阻塞同步非阻塞非同步阻塞(io多路復用)非同步非阻塞四種模式中併發度最高的模式為了迎合這種模式 node選擇不要同步io
3樓:rambo
一門後台語言或者說伺服器語言。 不支援io操作。 還叫伺服器語言嗎?
首先我們搞清楚什麼叫IO。
> 課本定義 : I/O輸入/輸出(Input/Output),分為IO裝置和IO介面兩個部分。
> 通俗點任何乙個讀寫就算一次IO 其中包括(同步和非同步阻塞非阻塞)
4樓:
你理解錯了
但是他需要選擇一種程式語言實現他的想法,這種程式語言不能自帶IO功能
「這種程式語言」指的是node.js的載體語言,JS沒有IO功能,所以JS就成了(作為node.js的載體語言)最好("天然")的選擇。
5樓:秋風
有io,
雖然nodejs是單執行緒的,但它的IO操作是多執行緒的,使通常情況的IO操作效能提高。
但是當IO操作情況比較複雜的時候,有可能造成執行緒競爭狀態,導致IO效能降低。
當同時有大量IO操作駐留在系統中時候,會增加記憶體開銷。所以~如題~
6樓:斯巴拉西
不是說nodejs不需要IO,而是說在設計node這個平台的時候,選擇的實現語言最好不要包含(同步)IO功能。
目的是為了避免歷史包袱
為什麼父母不需要考試?
lzsj 我們先想象下,如果父母也要考試 採用3w 1h探索 what考什麼 when什麼時候考 where在哪考 how怎麼評判 what應該考父母手冊,你準備好迎接子女了嘛,你會用怎麼樣的方式撫養 教育孩子 與孩子相處。你現在工作穩定嗎,你有信心確保孩子能高枕無憂完成9年義務教育嗎,而不是把他 ...
為什麼說腹肌不需要練?
我我我我不知道 誰和你說腹肌不要練的,當然瘦的人線條會明顯,但這麼說的話人們哪塊肌肉要練嘞,瘦不就完事了嗎?人們總是關注腹肌,就像提到手臂,就想到肱二頭肌,這是乙個十分外行的表現。因為每一塊肌肉都會有對抗肌,例如內側的肱二頭肌和外側的肱三頭肌,要是想提高整個手臂的力量,那麼這兩塊肌肉都要足夠發達,如...
網路需不需要監管?為什麼?
企晟網際網路 網路互助的互助性和普惠性符合社會大眾的需要,但目前網路互助平台缺乏有效監管和約束,亟待加強監管。建議將網路互助納入保險監管體系實行統一監管,規範網路互助從業主體行為,促進行業健康發展。網路互助 門檻 低 中間成本低,能有效吸引更多會員參與,實現醫療保障對更大群體的覆蓋。張琳代表介紹,網...