2012-02-03 79 views
15

在0.7.0中,"Experimenetal isolates support" [原文如此]被引入。除了一些模糊的想法外,我從未理解這些想法,他們提供了線程化的功能,但沒有線程問題。也許對解決Node的調試/錯誤處理故事很有幫助。什麼是Node.js分離?他們爲什麼現在死了?

但是,沒有人曾在該博客或前幾個Google搜索結果中解釋過它們的含義。什麼是分離物?他們爲什麼介紹給Node?


今天上午,一羣GitHub的問題(266226632665,並且可能更多)的評論被關閉 「隔離死了」。發生了什麼?爲什麼這個所謂的好主意,從我可以告訴的是0.7的標題特徵,死亡?

+0

就我所知,_isolates_是在單個進程中作爲線程運行的獨立節點v8實例。 (請注意,該術語的用法與飛鏢使用相同術語無關。) – 2012-02-03 21:37:12

回答

9

解釋這裏:http://groups.google.com/group/nodejs/msg/6b8b8a487d2ab817

本剛挖出我之前,我可以得到發送消息:)

+0

您提到'而不是專注於領域和其他可以提高穩定性並使調試更容易的事情'。現在什麼是域名?有哪些域名的附加信息?我想我聽到ryan在某處解釋域名來隔離行爲。但很想找到更多的信息。 – mamu 2012-02-21 20:11:57

+0

@mamu更多資訊即將推出。域的前提是將不同的IO操作分組在一起,以便可以在每個請求中的一個位置處理錯誤,而不是按每個進程處理錯誤。 – isaacs 2012-03-07 17:00:31

0

你可以把隔離爲V8運行時的一個獨立的實例。它擁有自己的內存管理(GC)。該名稱來自Chrome執行引擎,您有多個選項卡,每個選項卡都有自己的JavaScript環境引擎。每個選項卡(和JS環境)必須相互「隔離」,因此頁面都不能訪問其他頁面環境(window.local或window.document)。這就是爲什麼V8具有Isolate對象的原因,它允許它在相互獨立(隔離)的多個環境(頁面/選項卡)並行運行。