Đây là những gì tôi hiểu; vui lòng sửa/thêm vào nó:Chủ đề cấp người dùng (ULTs) và luồng cấp hạt nhân (KLTs) khác nhau liên quan đến việc thực thi đồng thời như thế nào?
Trong ULT thuần túy, quy trình đa luồng cũng tự lập lịch trình chuỗi. Vì vậy, hạt nhân về cơ bản không nhận thấy sự khác biệt và xem xét nó một quá trình đơn luồng. Nếu một chuỗi tạo cuộc gọi hệ thống chặn, toàn bộ quá trình sẽ bị chặn. Ngay cả trên bộ xử lý đa lõi, chỉ một luồng của quy trình sẽ chạy cùng một lúc, trừ khi quá trình này bị chặn. Tôi không chắc chắn làm thế nào ULTs được giúp đỡ nhiều mặc dù.
Trong KLT tinh khiết, ngay cả khi một luồng bị chặn, hạt nhân sẽ lên lịch một luồng (sẵn sàng) khác của cùng một quy trình. (Trong trường hợp KLT tinh khiết, tôi giả định hạt nhân tạo ra tất cả các luồng của quá trình.)
Ngoài ra, sử dụng kết hợp ULT và KLT, ULT được ánh xạ thành KLT như thế nào?
Nhưng, một số trang web và sách nói rằng ULT không thể tận dụng lợi thế của đa xử lý và một dòng của bạn nói "Mặt khác, nếu quá trình có nhiều chuỗi cấp hạt nhân, thì có thể thực thi nhiều lệnh song song nếu có một máy đa lõi. " Tôi làm sai ở đâu ? – Garrick
Bạn có thể cung cấp liên kết đến điều đó không? Điều đó nghe có vẻ không chính xác. – templatetypedef
Vui lòng kiểm tra 2 liên kết này http://stackoverflow.com/questions/25582876/what-does-it-mean-by-user-threads-cannot-take-advantage-of-multithreading-or-mu và http: // cs.stackexchange.com/questions/1065/what-is-the-difference-between-user-level-threads-and-kernel-level-threads. Dòng cuối cùng của liên kết thứ 2 nói rằng. Tôi tìm kiếm nhiều hơn một chút và tôi nghĩ nó phụ thuộc vào mô hình 1: 1. Vui lòng sửa tôi, nếu tôi thiếu bất kỳ thông tin chính nào. Cảm ơn !! – Garrick