Javascript是单线程的.那么回调函数和它的包含函数是否在与主循环/事件循环相同的线程上执行?
database.query("SELECT * FROM hugetable", function(rows) { // anonymous callback function var result = rows; console.log(result.length); }); console.log("I am going without waiting...");
如果query()方法及其回调函数在与事件循环相同的线程上执行,则会发生阻塞.如果不是为什么Javascript被称为单线程?
任何人都可以帮助验证javascript(browser/node.js)是否在场景后面使用多个线程以实现非阻塞?
谢谢,
朋友们,我看到了你的意见和答案.对不起,我对javascript很新.我很困惑,单线程asyn调用不会阻塞.如果有100个用户从hugeTable请求数据,这可能每个并发一分钟,并且事件循环将这些任务分配到一个队列并依次执行它们,query()方法执行如何不阻止事件循环,因为它们全部打开一个单线程?
布拉德回答了这一部分