Priorytet ma znaczenie tylko wtedy, gdy jest więcej wątków wykonalnych niż dostępne rdzenie procesora. Kiedy tak się dzieje, priorytet kontroluje, które wątki mają zostać uruchomione. W większości systemów nie ma wystarczającej liczby obliczeń, aby można było rywalizować z procesorem: wszystkie wątki są blokowane , czekając na coś. Może to oznaczać, że coś napiszesz, poruszysz myszą, dotkniesz ekranu lub dane dotrą z dysku, sieci, innego podłączonego urządzenia lub inny wątek zakończy pracę na danych krytycznych Struktura. Być może program czeka na odczyt z dysku lub część pamięci, która została zamieniona na odczyt, zamiast jawnego odczytu pliku.
W systemie Windows, harmonogram utrzymuje kolejkę przypisanymi wątków na każdym poziomie priorytetu. Kiedy podejmuje decyzję dotyczącą harmonogramu - albo wątek wyczerpał swoje kwantowe (dozwolony czas, zanim coś innego musi się uruchomić), co oznacza, że kolejny wątek powinien otrzymać zwrot, wątek został zablokowany i nie można go już uruchomić, lub ma wyższy priorytet wątek został odblokowany - zaplanowany zostanie następny wątek w kolejce na najwyższym poziomie priorytetu z dowolnymi działającymi wątkami. Jeśli działający wątek zużył swój kwant, jest on umieszczany na końcu kolejki. Jeśli jest to jedyny wątek na poziomie priorytetu, który można uruchomić, i nie ma innych wątków o wyższym priorytecie, ale nie działających, wątki otrzymają kolejną turę.
W systemach wielordzeniowych / wieloprocesorowych mogą obowiązywać ograniczenia dotyczące rdzeni, na których może działać wątek. Ponadto system stara się utrzymywać wątki na swoim idealnym rdzeniu i w węźle NUMA, aby dane wątku nadal mogły znajdować się w pamięci podręcznej tego rdzenia i mieć szybki dostęp do danych, które utworzył. Wątki będą nadal uruchamiane na nie idealnych rdzeniach, jeśli nie będzie wyboru, co dalej.
System wykorzystuje różne dynamiczne podbicia priorytetów i dynamiczne rozmiary kwantów, dzięki czemu aplikacja na pierwszym planie ma więcej czasu (jeśli tego potrzebuje) niż procesy w tle, a procesy mogą szybko reagować po zakończeniu operacji we / wy (w tym myszy, klawiatury i wprowadzanie za pomocą ekranu dotykowego). Ponadto zwiększanie priorytetów służy do obejścia inwersji priorytetów, w których wątek o wysokim priorytecie czeka na zasób, który obecnie przechowuje wątek o niskim priorytecie. Jeśli działa także wątek o średnim priorytecie, spowoduje to zagłębienie wątku o niskim priorytecie czasu procesora, podtrzymując wątek o wysokim priorytecie. Tak więc wątek o niskim priorytecie jest tymczasowo zwiększany do wyższego priorytetu, dzięki czemu zyskuje czas i, miejmy nadzieję, uwalnia zasoby, których potrzebuje wątek o wysokim priorytecie.
Przed Windows Vista priorytet wątku nie miał wpływu na szybkość operacji we / wy. Od systemu Windows Vista operacje wejścia / wyjścia mogą mieć również priorytet, który domyślnie pochodzi z priorytetu wątku.
Podsumowanie: w dużej mierze nie zobaczysz efektu zmiany priorytetów wątków, chyba że procesor jest mocno obciążony, a nawet wtedy efekt będzie zwykle minimalny. Jeśli proces musi czekać na operacje we / wy lub nie rywalizuje z innymi procesami o czas procesora, działa już najszybciej, jak to możliwe, a zmiana priorytetu nie przyspieszy.