c.query(
'SELECT SLEEP(20);',
function (err, results, fields) {
if (err) {
throw err;
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('<html><head><title>Hello</title></head><body><h1>Return from async DB query</h1></body></html>');
c.end();
}
);
问:当有两个请求A(先来)和B时,由于只有一个线程,服务器端程序将首先处理请求A:执行SQL查询是等待I/O等待的睡眠语句。和程序被卡在I/O等待,不能执行的代码渲染网页后面。在等待过程中程序会切换到请求B吗?在我看来,由于单线程模型,没有办法从一个请求切换到另一个请求。但是示例代码的标题说除了代码之外,所有东西都是并行运行的. c。
< p > (p。我不确定我是否误解了代码,因为我已经理解了 从未使用过Node。)在等待过程中,节点如何将A切换到B ?并且可以 你在a中解释Node的单线程非阻塞IO模型 简单的方法吗?如果你能帮助我,我会很感激的。:) < / p >