簡體   English   中英

防止在Node.js應用中出現飢餓

[英]Preventing starving in node.js apps

我對node.js還是非常node.js ,它對基於異步事件循環的執行模式及其在實時Web應用程序中可以實現的結果印象深刻。 我了解到,由於node.js是單線程的,因此它可以利用多核CPU可用的並行性的唯一方法是為每個內核產生一個新實例( Cluster用於node.js ),我相信這不是真正的並行性。 但是,現在我對另一個問題感興趣:

假設我有一個這樣的設置,即我在每個可用的CPU內核中運行一個實例,那么如何有效地確保應用程序使用的互斥鎖不會引起任何飢餓? 非常感謝您遵循什么准則,最佳實踐(如有)以及任何其他有關此方面的幫助。 提前致謝。

我同意你的說法。 但是並發而非真正的並行是節點開發人員的目標。 真正的並行性是Apache服務器實現的目標,我們知道該問題(多線程)。 添加了群集以利用可用的多核CPU。

要回答您的問題,節點使用輪詢調度程序(請參閱此commit )。 它將傳入的請求一對一分發給每個工作人員。 關於鎖定,如果工人並行運行,將得到最佳利用。 在服務器中,每個工作程序彼此獨立運行。 如果需要鎖定,請確保它們不會閑置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM