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

Thread pool trong Nodejs là gì?

Câu trả lời

Trong Node.js, Thread Pool là một tập hợp các luồng làm việc (worker threads) được sử dụng để thực hiện các tác vụ nặng về CPU hoặc I/O mà không làm chậm hoặc chặn Event Loop chính. Đây là một phần của cơ chế bất đồng bộ của Node.js, giúp nó xử lý hiệu quả các tác vụ đa luồng mặc dù chính nó là một môi trường đơn luồng. Dưới đây là một số điểm chính về Thread Pool trong Node.js:

  1. Libuv: Thread Pool được cung cấp bởi libuv, một thư viện hỗ trợ Node.js với các hoạt động I/O không chặn và đa luồng. Libuv quản lý Thread Pool này, bao gồm việc tạo luồng và phân phối công việc giữa chúng.

  2. Kích Thước Mặc Định: Mặc định, Thread Pool của libuv có 4 luồng, nhưng có thể được cấu hình thông qua biến môi trường UV_THREADPOOL_SIZE trước khi khởi động ứng dụng Node.js.

  3. Loại Tác Vụ Sử Dụng Thread Pool:

    • Các tác vụ I/O nặng như đọc/ghi file (ví dụ: sử dụng module fs).
    • Các tác vụ nặng về CPU như mã hóa, gi...
middle

middle

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

middle

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

senior

Mục đích của biến __filename trong Node.js là gì?

expert

Làm thế nào để giải quyết lỗi Process out of Memory Exception trong Node.js?

Bình luận

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

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