Câu hỏi phỏng vấn Node.js
Câu hỏi

Sự khác biệt giữa process.nextTick()setImmediate() trong Nodejs là gì?

Câu trả lời

Trong Node.js, process.nextTick()setImmediate() đều là các hàm được sử dụng để lên lịch thực thi mã nguồn một cách không đồng bộ, nhưng chúng hoạt động ở các giai đoạn khác nhau của vòng lặp sự kiện (event loop)[6].

process.nextTick()

  • Khi nào thực thi: process.nextTick() lên lịch một callback để thực thi ngay sau khi hoàn thành pha hiện tại của vòng lặp sự kiện, trước khi bắt đầu pha tiếp theo.
  • Ưu điểm: Điều này có nghĩa là nó có thể được sử dụng để đặt một hoạt động để thực hiện ngay sau khi stack hiện tại đã trống, nhưng trước khi bất kỳ I/O hoặc timer nào khác được xử lý.
  • Cảnh báo: Sử dụng process.nextTick() có thể dẫn đến việc "đói" I/O nếu nó được gọi một cách đệ quy hoặc liên tục, vì nó có thể ngăn chặn việc xử lý các sự kiện I/O khác.

setImmediate()

  • Khi nào thực thi: setImmediate() lên lịch một callback để thực thi trong pha "check" của vòng lặp sự kiện tiếp theo, sau khi hoàn thành xử lý I/O.
  • Ưu điểm: Điều này có nghĩa là nó sẽ thực thi ...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Sự khác biệt giữa bất đồng bộnon-blocking trong Nodejs là gì?

middle

Giải thích sự khác biệt giữa việc cài đặt package npm cục bộ và toàn cục?

middle

Thread pool trong Nodejs là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào