Sự khác nhau giữa mối quan hệ chủ đề và mối quan hệ quy trình là gì?
Khuynh hướng quá trình là mặt nạ sở thích mặc định cho tất cả các chuỗi của quá trình đó. Chủ đề mới sẽ bắt đầu bằng mặt nạ ái lực quy trình nếu không được chỉ định khác. Tuy nhiên, ái lực của một sợi đơn có thể được thay đổi mà không thay đổi ái lực quy trình (và mặt nạ ái lực của các chủ đề khác), và đó là khi có sự khác biệt giữa quá trình và chuỗi chủ đề.
Nếu tôi có hai Chủ đề và tôi có máy lõi đôi thì có thể chạy hai luồng này song song trên hai lõi không?
Có thể, nhưng trong hầu hết các trường hợp, bạn thực sự nên để hệ điều hành quyết định ... rất có thể thông minh hơn bạn.
Nếu tôi sử dụng ái lực bộ xử lý Mặt nạ thì tôi có thể kiểm soát việc thực hiện quy trình trên lõi nhưng làm cách nào để làm cho các luồng này cụ thể?
Bạn sẽ phải sử dụng p/gọi để gọi hàm không được quản lý SetThreadAffinityMask()
và sau đó sử dụng Thread.BeginThreadAffinity()
để đảm bảo rằng các chủ đề quản lý ở lại với một sợi OS cụ thể. Nhưng bạn thực sự không muốn làm điều đó!
Nhưng Cách chạy luồng trên (các) lõi điển hình? – DotNetBeginner
@Brian Rasmussen - và cái gì? Tôi đứng đằng sau lời nói của tôi, rằng không có cách nào từ .NET để buộc thread cụ thể để thực hiện trên bộ vi xử lý cụ thể. Xem chủ đề này để biết chi tiết: http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/3279302a-6786-44a7-b69d-c302699b6fcb – Axarydax
Xin lỗi, tôi đã hiểu nhầm bạn rồi. –