javascript - Comparaison des scénarios de concurrence Node et Java, veuillez aider à expliquer
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-17 10:08:00
0
1
584

Supposons queun programme de nœud soit installé sous un seul cœurCPU. Le programme est très simple. Lorsqu'une requête arrive, le résultat est renvoyé avec un délai de 5 secondes (il est compréhensible que 5s). la synchronisationfait quelque chose)

Lorsque 3 requêtes arrivent en même temps, quel scénario sera le résultat :
Scénario 1 : La première requête obtient le résultat après 5 secondes, les deuxième et troisième requêtes obtiennent le résultat après 10 s et 15 s
Scénario 2 : Toutes les requêtes obtenez des résultats après 5 secondes

Quel genre de scénario cela sera-t-il si nous passons à Java+Tomcat ? Merci à tous !

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(1)
洪涛

S'il est synchrone, le délai est de 5 secondes et node.js est une simple opération monothread, sans ajout de cluster et autres optimisations同步的 延迟 5秒,且 node.js 为简单的单线程运行,不加入 cluster 等优化

const start = Date.now();
while(Date.now() - start < 5000) {
    ;   
}
return res.send();

那么,多个请求同时发起时,场景1

但通常在 node.js 很少真的碰到完全阻塞的同步等待 5 秒,如果是下列情况:

setTimeOut(() => { return res.send(); }, 5000);

那结果当然是场景2 rrreee

Ainsi, lorsque plusieurs requêtes sont initiées en même temps, scénario 1

Mais généralement dans node.js, il est rare de rencontrer une attente de synchronisation de 5 secondes complètement bloquée, si la situation suivante se produit :

rrreee

Le résultat est bien sûr le Scénario 2🎜 🎜Quant à Java, la simultanéité est prise en charge par le multi-threading. Lorsque les performances sont suffisantes, par exemple, la simultanéité n'est que de 3, cela peut être grossièrement considéré comme : Scénario 2. Bien sûr, en raison de la surcharge du thread impliquée, après l'augmentation de la concurrence, son utilisation de la mémoire dépassera de loin le modèle node.js🎜 🎜En fait, c'est pourquoi nous disons que node.js est plus adapté aux scénarios gourmands en E/S et nécessitant peu de calcul. Vous pouvez vous référer à mon autre réponse🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal