Quay lại thư viện câu hỏi
concurrency Junior

Phân biệt sự khác biệt cốt lõi giữa CPU-bound Task và I/O-bound Task trong lập trình đồng thời (Concurrency), và cách lựa chọn mô hình xử lý phù hợp cho từng loại.

1. Phân biệt khái niệm

  • CPU-bound Task (Tác vụ nặng về tính toán): Là các tác vụ đòi hỏi sức mạnh xử lý thuần túy của CPU như mã hóa dữ liệu, nén file, xử lý thuật toán phức tạp, xử lý ảnh. Thời gian hoàn thành phụ thuộc trực tiếp vào tốc độ và số lượng Core của CPU.
  • I/O-bound Task (Tác vụ chờ đợi vào Input/Output): Là các tác vụ mà ứng dụng phải dành phần lớn thời gian để chờ đợi phản hồi từ các hệ thống bên ngoài như truy vấn Database, gọi HTTP API, đọc ghi file từ ổ cứng, hoặc nhận dữ liệu qua mạng.

2. Mô hình xử lý tối ưu

  • Đối với CPU-bound Task:
    • Mô hình tối ưu là Multithreading với số lượng Thread xấp xỉ bằng số lượng Core vật lý của CPU.
    • Việc tạo nhiều Thread hơn số Core sẽ gây ra hiện tượng Context Switching lãng phí vì CPU lúc nào cũng ở trạng thái 100% công suất.
  • Đối với I/O-bound Task:
    • Mô hình tối ưu là Asynchronous / Event-driven Non-blocking (ví dụ như Node.js Event Loop, Java NIO, hoặc Async/Await trong C#).
    • Thay vì block một Thread trong lúc chờ đợi I/O phản hồi, hệ thống sẽ giải phóng Thread đó để xử lý các request khác, và chỉ quay lại xử lý tiếp tục khi có sự kiện I/O hoàn thành.

3. Kinh nghiệm thực chiến

Khi thiết kế API backend, Junior cần phân loại rõ ràng bản chất của từng API. Các API thực hiện báo cáo thống kê phức tạp (CPU-bound) nên được tách biệt ra các Worker riêng hoặc sử dụng Queue (như RabbitMQ, Kafka) để xử lý nền, tránh làm nghẽn Main Thread phục vụ các request HTTP thông thường.

Luyện tập câu hỏi này trong chế độ đếm ngược mô phỏng phỏng vấn thật:
Phòng Luyện Tập
Khóa học Chuyên sâu Chủ đề concurrency

Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)

Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.

High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học