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

junior

Tệp package.json là gì?

expert

Cluster trong Node.js có sử dụng cùng một event loop không?

senior

Làm thế nào để ngăn chặn Callback Hell mà không sử dụng promises, async hoặc generators?

Bình luận

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

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