我正在實施REST服務進行財務計算。因此,每個請求被認爲是一個CPU密集型任務,我認爲最好的地方創建線程它在以下功能:Node.js多線程使用線程-gogo
exports.execute = function(data, params, f, callback) {
var queriesList = [];
var resultList = [];
for (var i = 0; i < data.lista.length; i++)
{
var query = (function(cod) {
return function(callbackFlow) {
params.paramcodneg = cod;
doCdaQuery(params, function(err, result)
{
if (err)
{
return callback({ERROR: err}, null);
}
f(data, result, function(ret)
{
resultList.push(ret);
callbackFlow();
});
});
}
})(data.lista[i]);
queriesList.push(query);
}
flow.parallel(queriesList, function() {
callback(null, resultList);
});
};
我不知道什麼是最好的,在運行flow.parallel分離線程或在其自己的線程中運行queriesList的每個函數。什麼是最好的?以及如何使用threads-a-gogo模塊呢?
我試過了,但是無法寫出正確的代碼。
在此先感謝。 克萊森里奧斯。
謝謝凱文。 – 2015-02-02 10:30:57