Bạn không thể đảm bảo trong .Net rằng hai Threads chạy trên hai lõi riêng biệt. Trên thực tế, bạn cũng không thể đảm bảo rằng một cái Threadsẽ chỉ chạy trên một lõi (!) .
Điều này là do các luồng được quản lý không giống như các luồng của HĐH - một luồng được quản lý duy nhất có thể sử dụng nhiều luồng của HĐH để hỗ trợ nó. Trong C #, bạn chỉ từng giao dịch trực tiếp với Threadcác s được quản lý (ít nhất, mà không dùng đến p / invoke để gọi các hàm phân luồng WinAPI, điều mà bạn không bao giờ nên làm) .
Tuy nhiên, bộ lập lịch luồng .Net và Windows rất tốt trong những gì họ làm - họ sẽ không chạy hai luồng trên một lõi trong khi lõi thứ hai hoàn toàn không hoạt động. Vì vậy, nói chung, bạn không cần phải lo lắng về nó.
t1vàt2được thực thi tại các thời điểm khác nhau theo thứ tự tùy ý (ví dụ: có thểt2bắt đầu trướct1trong một số mô hình).