簡體   English   中英

node.js如何管理並發?

[英]How does node.js manage concurrency?

我對Node.js很陌生嗎? 我的問題是nodejs如何精確處理並發? 我知道nodejs是單線程的,不等待請求完成,但這是否意味着我們對事件的發生順序沒有任何控制權?

以異步方式執行任務是NodeJS的主要優勢之一。 本質上,您的程序永遠不會停止並且僅使用一個線程並異步執行操作,因此,在NodeJS中進行編程的方式將與傳統的C / C ++完全不同。

大多數需要時間處理的操作(例如API調用)都將使用回調和承諾來實現。 在開始編碼時,您將了解並習慣它。 如果您需要控制事件的順序,特別是在事件相互依賴的情況下,異步是一個很棒的程序包,它提供各種選項以串行,並行,自動,瀑布式和許多其他方式執行任務(您可以參考該文檔位於: https : //github.com/caolan/async

這是一個使用async包串行執行操作的示例:

async.series([
function(callback) {
    // Perform an API call
    callback(null, 'one');
},
function(callback) {
    // do some more stuff ...
    callback(null, 'two');
}
],
function(err, results) {
// reach here after the functions 1 and 2 are completed
});

暫無
暫無

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

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