วิธีการทำงานของแบบจำลองการไม่บล็อก IO แบบเธรดเดี่ยวใน Node.js
ฉันไม่ใช่โปรแกรมเมอร์ของ Node แต่ฉันสนใจที่การทำงานของIO แบบเธรดเดียวที่ไม่บล็อก หลังจากที่ฉันอ่านบทความการทำความเข้าใจ - the-node-js-event-loopฉันสับสนจริง ๆ มันเป็นตัวอย่างสำหรับแบบจำลอง: 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(); } ); Que:เมื่อมีสองคำร้องขอ A (มาก่อน) และ B เนื่องจากมีเพียงเธรดเดียวโปรแกรมฝั่งเซิร์ฟเวอร์จะจัดการคำร้องขอ A ประการแรก: การทำแบบสอบถาม SQL คือคำสั่ง asleep ที่รอ I / O …