成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Node.js 指南(關(guān)于Node.js)

Java_oldboy / 2831人閱讀

摘要:如果不熟悉這種語言,有一篇關(guān)于阻塞與非阻塞的完整文章。在設(shè)計(jì)上與的或的等系統(tǒng)類似,并受其影響,進(jìn)一步采用事件模型。它將事件循環(huán)呈現(xiàn)為運(yùn)行時(shí)構(gòu)造而不是庫,在其他系統(tǒng)中,始終存在阻塞調(diào)用以啟動(dòng)事件循環(huán)。上一篇指南目錄下一篇入門指南

關(guān)于Node.js

作為異步事件驅(qū)動(dòng)的JavaScript運(yùn)行時(shí),Node旨在構(gòu)建可伸縮的網(wǎng)絡(luò)應(yīng)用程序,在下面的“hello world”示例中,可以同時(shí)處理許多連接,在每次連接時(shí)都會(huì)觸發(fā)回調(diào),但是如果沒有工作要做,Node將會(huì)休眠。

const http = require("http");

const hostname = "127.0.0.1";
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader("Content-Type", "text/plain");
  res.end("Hello World
");
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

這與目前使用OS線程的更常見的并發(fā)模型形成對比,基于線程的網(wǎng)絡(luò)效率相對較低且非常難以使用,此外,Node的用戶不必?fù)?dān)心死鎖,因?yàn)闆]有鎖。Node中幾乎沒有任何函數(shù)直接執(zhí)行I/O,因此進(jìn)程永遠(yuǎn)不會(huì)阻塞,由于沒有任何阻塞,可擴(kuò)展系統(tǒng)在Node中開發(fā)非常合理。

如果不熟悉這種語言,有一篇關(guān)于阻塞與非阻塞的完整文章。

Node在設(shè)計(jì)上與Ruby的Event Machine或Python的Twisted等系統(tǒng)類似,并受其影響,Node進(jìn)一步采用事件模型。它將事件循環(huán)呈現(xiàn)為運(yùn)行時(shí)構(gòu)造而不是庫,在其他系統(tǒng)中,始終存在阻塞調(diào)用以啟動(dòng)事件循環(huán)。通常,行為是通過腳本開頭的回調(diào)來定義的,最后通過阻塞調(diào)用來啟動(dòng)服務(wù)器,如EventMachine::run()。Node在執(zhí)行輸入腳本后簡單地進(jìn)入事件循環(huán),當(dāng)沒有更多回調(diào)要執(zhí)行時(shí),Node退出事件循環(huán),此行為類似于瀏覽器JavaScript — 事件循環(huán)對用戶隱藏。

HTTP是Node中的一等公民,設(shè)計(jì)時(shí)考慮了流媒體和低延遲,這使得Node非常適合Web庫或框架的基礎(chǔ)。

僅僅因?yàn)镹ode沒有線程設(shè)計(jì),并不意味著你無法利用環(huán)境中的多個(gè)核心優(yōu)勢,子進(jìn)程可以通過使用我們的child_process.fork() API生成,并且設(shè)計(jì)為易于與之通信,基于相同的接口構(gòu)建的是群集模塊,它允許你在進(jìn)程之間共享sockets,以便在核心上實(shí)現(xiàn)負(fù)載平衡。

上一篇:Node.js 指南(目錄) 下一篇:入門指南

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108576.html

相關(guān)文章

  • Node.js 指南(目錄)

    Node.js 指南 Node.js?是基于Chrome的V8 JavaScript引擎構(gòu)建的JavaScript運(yùn)行時(shí)。 常規(guī) 關(guān)于Node.js 入門指南 輕松分析Node.js應(yīng)用程序 Docker化Node.js Web應(yīng)用程序 遷移到安全的Buffer構(gòu)造函數(shù) Node.js核心概念 阻塞與非阻塞概述 Node.js事件循環(huán)、定時(shí)器和process.nextTick() 不要阻塞事...

    未東興 評論0 收藏0
  • Node.js 指南(入門指南

    摘要:調(diào)試指南本指南將幫助你入門調(diào)試應(yīng)用程序和腳本。這樣做可能會(huì)給你帶來潛在的重大安全威脅,我們建議你確保適當(dāng)?shù)姆阑饓驮L問控制措施,以防止安全風(fēng)險(xiǎn)。不再維護(hù)或記錄調(diào)試協(xié)議。 入門指南 安裝Node之后,讓我們嘗試構(gòu)建我們的第一個(gè)Web服務(wù)器,創(chuàng)建名為app.js的文件,并粘貼以下代碼: const http = require(http); const hostname = 127.0....

    ybak 評論0 收藏0
  • Node.js 指南(阻塞與非阻塞概述)

    摘要:標(biāo)準(zhǔn)庫中的所有方法都提供非阻塞的異步版本,并接受回調(diào)函數(shù),某些方法還具有對應(yīng)的阻塞方法,其名稱以結(jié)尾。比較代碼阻塞方法同步執(zhí)行,非阻塞方法異步執(zhí)行。 阻塞與非阻塞概述 此概述介紹了Node.js中阻塞與非阻塞調(diào)用之間的區(qū)別,此概述將引用事件循環(huán)和libuv,但不需要事先了解這些主題,假設(shè)讀者對JavaScript語言和Node.js回調(diào)模式有基本的了解。 I/O主要指與libuv支持的...

    zebrayoung 評論0 收藏0
  • [譯]npm入門指南

    摘要:博客地址這篇文章是我在眾成翻譯翻譯的一篇文章,一篇的入門指南,原文鏈接的出現(xiàn)使得用寫服務(wù)端應(yīng)用成為可能。你可以看到,這個(gè)過程也安裝了其他的模塊,它們都是的所依賴的模塊。但是,得到的輸出信息會(huì)很冗長,我們可以加上來精簡一下輸出。 github 博客地址: https://github.com/zengxiaota... 這篇文章是我在 眾成翻譯 翻譯的一篇文章,一篇 npm 的入門指南,...

    mrcode 評論0 收藏0
  • Node.js 日志輸出指南

    摘要:將如下代碼寫入到文件中,并在環(huán)境里執(zhí)行如圖雖然這兩個(gè)輸出看起來可能一樣,但系統(tǒng)實(shí)際上對它的處理方式有不同。如圖如果你沒有啟動(dòng)調(diào)試日志,則不會(huì)看到任何這樣的日志輸出。 原文地址: https://www.twilio.com/blog/g...原文作者: DOMINIK KUNDEL 翻譯作者: icepy 翻譯出處: https://github.com/lightningm... ...

    csRyan 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<