Mặc dù Câu hỏi đã được giải thích trước một thời gian dài, tôi đang đặt suy nghĩ của mình giống nhau.
Node JS là công nghệ luồng đơn. Về cơ bản, người tạo ra Node JS (Ryan Dahl) quan tâm là việc xử lý song song bằng cách sử dụng nhiều luồng không phải là cách đúng đắn hoặc quá phức tạp.
nếu Node.js không sử dụng đề như thế nào xử lý yêu cầu đồng thời song song
Ans: Đó là hoàn toàn sai câu khi bạn nói nó không sử dụng đề, Node Js đề sử dụng nhưng một cách thông minh. Nó sử dụng chủ đề duy nhất để phục vụ tất cả các yêu cầu HTTP & nhiều bài trong chủ đề bơi (trong libuv) để xử lý bất kỳ hoạt động chặn
Libuv: Một thư viện để xử lý không đồng bộ I/O.
Mô hình I/O sự kiện có nghĩa là gì?
Trả lời: Đúng hạn là không chặn I/O. Nó gần như không bao giờ chặn như trang web chính thức của Node JS nói. Khi bất kỳ yêu cầu nào đến máy chủ nút, nó sẽ không bao giờ xếp hàng yêu cầu. Nó yêu cầu và bắt đầu thực thi nếu nó chặn hoạt động thì nó được gửi đến vùng chủ đề làm việc và đăng ký một cuộc gọi lại giống như ngay sau khi thực thi mã xong, nó kích hoạt cùng một cuộc gọi lại và chuyển đến hàng đợi sự kiện và xử lý bởi vòng lặp sự kiện một lần nữa sau tạo phản hồi và gửi cho khách hàng tương ứng.
Liên kết hữu ích: click here
Nguồn
2017-08-17 13:22:02
Cảm ơn Michael. Tôi hiểu rằng các hoạt động IO không đồng bộ là bản chất của JS, nhưng những gì tôi không hiểu là, nếu node.js/JS là một luồng đơn, thì nó xử lý các hoạt động async như thế nào. Nó có thể chạy hoạt động I/O không đồng bộ song song với mã phía máy chủ, nhưng làm thế nào. – Davita
@Davita: Các hoạt động I/O không được CPU thực hiện. Mã phía máy chủ không phải tham gia cho đến khi phần cứng bên ngoài đã lấp đầy một số bộ đệm và cho CPU biết về điều này thông qua một cơ chế ngắt. –
@Davita có một ghi chú nhỏ về vòng lặp sự kiện node.js tại đây: http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/ – LoG