2013-05-21 64 views
4

我試圖找出在IIS的方式上Node.JS事件循環機制(發佈和訂閱C++ ThreadPool)的優點是什麼處理請求。請求Node.JS和IIS的機制(事件循環和線程)

我在這裏讀到: http://rickgaribay.net/archive/2012/01/28/node-is-not-single-threaded.aspx 而行:「沒有上下文切換的事件循環簡單地發佈和訂閱線程池」我不清楚。

IIS有一個將請求發送到CLR線程池的I/O線程,並且它繼續工作直到它收到響應。有點類似於我所瞭解的事件循環。 CPU正在線程之間切換,因此它切換到節點的工作線程(以便完成工作),並且與CLR線程池相同。

有人能解釋什麼是IIS使用的請求線程的事件循環機制的關鍵優勢?

回答

0

我認爲你鏈接的作者比澄清更加混亂(這傢伙說他只是學習節點,所以你真的要求盲目領導 - 使用它來學習的盲目情況)。我不知道他爲什麼認爲Node聲稱「它」(即Node.js)是單線程的。我從來沒有見過。問題是,在節點中,您的代碼全部在單個線程中執行,這意味着您可以將開發人員從處理不同類型的爭用中解放出來。 (許多人認爲這是一個關鍵優勢,但我認爲可以爭辯說,你只是爲另一種模式交易一種樣板(用於信號量等):異步處理(儘管有幾種方法可以減少更單調的方面這個)

雖然我不是很確定你在問什麼,但我想如果你在3分鐘和7分鐘之間看這個視頻(https://www.youtube.com/watch?v=L0pjVcIsU6A),你會得到一個「哦,我明白了」時刻,主持人使用的視覺表現(我相信他是從原始節點創作者的一部分中獲得的)比單獨使用單詞描述相同事物的文本牆要容易理解。

Hope這有幫助