Tak jak w architekturze jednoprocesorowej, za wybór nowego wątku do wykonania w przypadku
zwolnienia się procesora, odpowiada funkcja FindReadyThread
, jednak ma ona inny kod niż
w wersji jednoprocesorowej. Najpierw znajduje ona pierwszą kolejkę w Liście Dyspozytora,
która zawiera wątek twardo powiązany z danym procesorem. Wtedy funkcja markuje taki
wątek jako "główny kandydat". Następnie przeszukuje daną kolejkę, zaczynając od
głównego kandydata włącznie, pierwszego wątku, który ma twarde powiązanie i spełnia
jeden z trzech warunków:
Jeśli takiego nie znajdzie to procesor zostanie oddany głównemu kandydatowi.