La machine virtuelle Java choisit dans un programme Java le thread en cours d'exécution. L'algorithme est de type tourniquet à plusieurs niveaux. Il choisit donc pour un temps déterminé, un thread parmi les plus prioritaires, puis recommence.