Mục lục:
Định nghĩa - Đa luồng có nghĩa là gì?
Đa luồng là một kiểu mô hình thực thi cho phép tồn tại nhiều luồng trong bối cảnh của một tiến trình sao cho chúng thực thi độc lập nhưng chia sẻ tài nguyên quy trình của chúng. Một luồng duy trì một danh sách thông tin liên quan đến việc thực thi của nó bao gồm lịch ưu tiên, trình xử lý ngoại lệ, một bộ các thanh ghi CPU và trạng thái ngăn xếp trong không gian địa chỉ của quá trình lưu trữ.
Đa luồng còn được gọi là luồng.
Techopedia giải thích đa luồng
Việc xâu chuỗi có thể hữu ích trong một hệ thống xử lý đơn bằng cách cho phép luồng thực thi chính phản ứng với đầu vào của người dùng, trong khi luồng công nhân bổ sung có thể thực thi các tác vụ chạy dài mà không cần sự can thiệp của người dùng vào nền. Việc xâu chuỗi trong một hệ thống đa bộ xử lý dẫn đến việc thực thi đồng thời các luồng trên nhiều bộ xử lý và do đó nhanh hơn. Tuy nhiên, nó đòi hỏi lập trình cẩn thận hơn để tránh các hành vi không trực quan như điều kiện đua xe, bế tắc, v.v.
Hệ điều hành sử dụng luồng theo hai cách:
- Đa luồng đọc trước, trong đó chuyển đổi ngữ cảnh được điều khiển bởi hệ điều hành. Chuyển đổi ngữ cảnh có thể được thực hiện tại một thời điểm không phù hợp, do đó, một luồng có mức độ ưu tiên cao có thể được gián tiếp trước bởi một luồng có mức độ ưu tiên thấp.
- Đa luồng hợp tác, trong đó chuyển đổi ngữ cảnh được điều khiển bởi các luồng. Điều này có thể dẫn đến các vấn đề, chẳng hạn như bế tắc, nếu một luồng bị chặn chờ tài nguyên trở nên miễn phí.
Các phiên bản Windows 32 và 64 bit sử dụng đa luồng ưu tiên trong đó thời gian xử lý có sẵn được chia sẻ sao cho tất cả các luồng có được một lát thời gian bằng nhau và được phục vụ trong chế độ dựa trên hàng đợi. Trong quá trình chuyển đổi luồng, ngữ cảnh của luồng xử lý trước được lưu trữ và tải lại trong luồng tiếp theo trong hàng đợi. Các lát cắt thời gian quá ngắn đến nỗi các luồng đang chạy dường như được thực thi song song.
Định nghĩa này được viết trong bối cảnh Kiến trúc Máy tính