tl; dr: Chúng được gọi là chủ đề vì "chủ đề" là một phép ẩn dụ apt.
Khi bạn bắt đầu một luồng, bạn dựa vào hệ điều hành để phân bổ thời gian xử lý để luồng của bạn có thể thực thi. Trong khi luồng của bạn đang thực thi, bộ xử lý (hoặc lõi) sẽ đặt tất cả sự chú ý của nó vào luồng của bạn. Khi hệ điều hành chuyển lõi sang một luồng khác, luồng của bạn dừng thực thi trong khi luồng khác đang được bảo trì.
Vì vậy, thực hiện nhảy xung quanh tất cả các nơi. Nhưng tính toàn vẹn của bộ hướng dẫn máy vẫn còn nguyên, bất chấp những bước nhảy này, bởi vì chúng tôi xây dựng hàng rào và cơ chế đồng thời để bảo vệ trạng thái của nó và trạng thái của các đối tượng mà nó tương tác.
Vì vậy, luồng đề cập, không phải để thực hiện các lệnh trong bất kỳ luồng cụ thể nào, mà là các hướng dẫn cuối cùng sẽ được thực hiện trong luồng mà chúng ta đã tạo. Nói cách khác, mỗi luồng, có thể được coi là một máy hoặc tác nhân riêng lẻ (chúng tôi gọi chúng là các quy trình nhẹ), mà không phải suy nghĩ về tất cả các chuyển đổi ngữ cảnh mà hệ điều hành đang thực hiện để mang lại vẻ ngoài là tất cả thi hành đồng thời.
Nói cách khác, mặc dù tất cả các bước nhảy xung quanh mà HĐH thực hiện đằng sau hậu trường, mà chúng ta gọi là một luồng (chuỗi hoạt động mà chúng ta đang thực hiện trong một quy trình nhẹ) vẫn có thể được coi là cùng một chuỗi hoạt động, chúng tôi đã không sinh ra chủ đề, giả sử chúng tôi đã thực hiện các biện pháp bảo vệ đồng thời cần thiết.
Nếu mô tả này có vẻ quá nặng nề và trừu tượng, thì hãy nghĩ đến một chủ đề trong một diễn đàn, như Reddit. Bạn có thể tách ra các cuộc thảo luận mới; mỗi cuộc thảo luận là chủ đề riêng của nó. Bạn có thể nhảy qua lại giữa các chủ đề. Nhưng mỗi luồng vẫn duy trì tính toàn vẹn cấu trúc của nó như một cuộc trò chuyện riêng lẻ.