Öncelik yalnızca kullanılabilir CPU çekirdeklerinden daha fazla çalıştırılabilir iş parçacığı olduğunda önemlidir. Bu olduğunda, öncelik hangi iş parçacıklarının çalıştırılacağını denetler. Çoğu sistemde, CPU üzerinde herhangi bir çekişme için yeterli hesaplama yoktur: iş parçacıklarının tümü engellenir ve bir şey olmasını bekler. Bu, bir şeyler yazmanızı, fareyi hareket ettirmenizi, ekrana dokunmanızı veya diskten, ağdan, taktığınız diğer bazı cihazlardan veya kritik bir veri üzerinde çalışmayı bitirmek için başka bir iş parçacığının gelmesini bekliyor olabilir. yapısı. Programın bir kısmının, bir dosyayı açıkça okumak yerine, diskten okunmasını veya geri okunması için değiştirilen bir hafızayı beklemiş olabilir.
Windows'ta, zamanlayıcı her öncelik düzeyinde bir çalıştırılabilir iş parçacığı kuyruğu tutar . Bir zamanlama kararı verdiğinde - bir iş parçacığının kuantumunu tükettiği (başka bir şeyin çalışması gerekmeden önce izin verilen süre), başka bir iş parçacığının dönüş alması veya iş parçacığının bloke olduğu ve artık çalıştırılamadığı veya daha yüksek önceliğe sahip olduğu anlamına gelir iş parçacığının engeli kaldırıldı - çalıştırılabilir iş parçacıklarıyla birlikte sıradaki en yüksek öncelik düzeyindeki bir sonraki iş parçacığı zamanlanacaktır. Çalışan iş parçacığı kuantumunu tüketmişse, kuyruğun sonuna konur. Öncelik düzeyinde çalıştırılabilir olan tek iş parçacığıysa ve daha yüksek önceliğe sahip başka çalıştırılabilir, ancak çalışmayan iş parçacıkları yoksa, başka bir dönüş alır.
Çok çekirdekli / çok işlemcili sistemlerde, bir iş parçacığının hangi çekirdeklerde çalışabileceği konusunda kısıtlamalar olabilir. Ayrıca, sistem iş parçacıklarını ideal çekirdeğinde ve NUMA düğümünde tutmaya çalışır, böylece iş parçacığının verilerinin hala bu çekirdeğin önbelleğinde olması ve oluşturduğu verilere hızlı erişimi olur. Daha sonra ne çalıştırılacağına dair bir seçenek yoksa, konular ideal olmayan çekirdeklerde de çalıştırılır.
Sistem, çeşitli dinamik öncelik artışlarını ve dinamik kuantum boyutlarını kullanır, böylece ön plan uygulaması arka plan işlemlerinden daha fazla zaman alır (gerekiyorsa) ve böylece G / Ç işlemleri tamamlandığında (fare, klavye ve dokunmatik ekran girişi). Buna ek olarak, yüksek öncelikli bir iş parçacığının, şu anda düşük öncelikli bir iş parçacığının beklediği bir kaynağı beklediği öncelikli ters çevirmelerden kurtulmak için öncelik artırma kullanılır. Orta öncelikli bir iş parçacığı da çalışıyorsa, yüksek öncelikli iş parçacığını tutarak düşük öncelikli işlemci zamanı iş parçacığını aç bırakacaktır. Bu nedenle, düşük öncelikli iş parçacığı geçici olarak yüksek önceliğe yükseltilir, böylece zaman alır ve umarım yüksek öncelikli iş parçacığının ihtiyaç duyduğu kaynağı serbest bırakır.
Windows Vista'dan önce, iş parçacığı önceliğinin G / Ç işlemlerinin ne kadar hızlı tamamlandığı üzerinde bir etkisi yoktu . Windows Vista'dan beri, G / Ç'ler de varsayılan olarak iş parçacığı önceliğinden gelen bir önceliğe sahip olabilir.
Özet: CPU'nuz çok fazla yüklenmedikçe, iplik önceliklerini değiştirmenin herhangi bir etkisini görmezsiniz ve o zaman bile etki genellikle minimum olur. İşlemin G / Ç'yi beklemesi gerekiyorsa veya CPU zamanı için diğer işlemlerle çelişmiyorsa, zaten mümkün olan en hızlı şekilde çalışıyor ve önceliğin değiştirilmesi bunu daha hızlı hale getirmeyecek.