Async/await 等非阻塞设计在多请求和 CPU 密集情况下是否会阻塞 Node

编程入门 行业动态 更新时间:2024-10-04 01:26:16

Async/await 等非阻塞设计在多请求和 CPU 密集情况下<a href=https://www.elefans.com/category/jswz/34/1767014.html style=是否会阻塞 Node"/>

Async/await 等非阻塞设计在多请求和 CPU 密集情况下是否会阻塞 Node

我是Node.js的新手,遇到了为node.js设计非块代码的问题。 首先选择async/await,如下:

router.post('/handleFiles', async(req, res) => {
        // .....
        try {
            let qr1 = "INSERT INTO ........;"
            await new Promise((res, rej) => {
                pool.query(qr1, (err, row) => {
                    if (err) return rej(err);
                    res(row);
                });
            });
            let qr2 = "UPDATE .....;"
            await new Promise((res, rej) => {
                pool.query(qr2, (err, row) => {
                    if (err) return rej(err);
                    res(row);
                });
            });
        } catch (err) {
            console.log(err)
        }
    });

如果 sql 需要 20 秒才能完成它的工作,在这种情况下,节点会阻塞其他节点吗? 要求?似乎还有其他选择做 CPU 限制的工作,比如 child_process,它会 以另一种方式进行,例如

var fork = require('child_process').fork;
app.get('/', function (req, res) {
    var worker = fork('./SQL.js');
    worker.on('message', function (m) {
         res.send(m.result.toString()); 
        })
    });
    
    worker.send({type:'insert', num:--req.query.n||10});
});

node.js 为请求执行繁重的加载工作的好的设计是什么, 并发以满足另一个请求? 非常感谢任何指示,非常感谢

回答如下:

更多推荐

Async/await 等非阻塞设计在多请求和 CPU 密集情况下是否会阻塞 Node

本文发布于:2024-05-30 11:35:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770453.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:是否会   密集   情况下   await   Async

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!