Nói cách khác, phân luồng lai có ưu điểm nào hơn luồng 1: 1 (chỉ kernel) và luồng N: 1 (chỉ người dùng)?
Đây là phần tiếp theo Sự khác biệt giữa các luồng cấp độ người dùng và luồng cấp độ nhân là gì?
Nói cách khác, phân luồng lai có ưu điểm nào hơn luồng 1: 1 (chỉ kernel) và luồng N: 1 (chỉ người dùng)?
Đây là phần tiếp theo Sự khác biệt giữa các luồng cấp độ người dùng và luồng cấp độ nhân là gì?
Câu trả lời:
Tôi nghĩ rằng luồng lai rất giống với một nhóm luồng .
Ưu điểm so với luồng chỉ người dùng là bạn có thể tận dụng nhiều CPU hoặc nhiều lõi CPU. Và nếu một khối tác vụ, bạn có thể tạo một luồng nhân khác để sử dụng CPU có sẵn hiệu quả hơn.
Vì vậy, bạn có được những lợi thế của cả hai phương pháp, với chi phí của một số lập lịch chế độ người dùng bổ sung.
Một bất lợi về lập lịch chỉ kernel có thể có độ trễ lớn hơn: nếu tất cả các luồng trong nhóm đang bận và bạn thêm tác vụ ngắn mới, bạn có thể đợi một thời gian dài trước khi nó bắt đầu thực thi.