Приоритет потока тестирования. Почему в некоторых случаях потоки с низким приоритетом работают быстрее?

Я пытаюсь проверить 2 потока, один с высоким, а другой с низким приоритетом.

Согласно моим результатам, иногда поток с низким приоритетом быстрее, как это возможно? Я'мы проверили потоки с разными приоритетами, увеличив переменную click внутри каждого потока. Я'Мы также увеличивали и уменьшали время сна, но ничего.

Поскольку я тестировал без тяжелых программ, работающих в фоновом режиме, я решил протестировать с работающим HD-фильмом, но реальных изменений не произошло, потоки всегда имеют одинаковую скорость.

Мой компьютер - Intel i5. Я'м под управлением Windows 7 64 бит, 16 Гб оперативной памяти

Это код:
class clicker implements Runnable{
    long click =0;
    Thread t;
    private volatile boolean running = true;

    clicker(int p){
        t=new Thread(this);
        t.setPriority(p);
    }

    public void run(){
        while(running)
            click++;
    }

    public void stop(){
        running = false;
    }

    public void start(){
        t.start();
    }
}




class HiLoPri {
public static void main(String args[]){
    Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
    clicker hi=new clicker(Thread.NORM_PRIORITY+4);
    clicker lo=new clicker(Thread.NORM_PRIORITY-4);

    lo.start();
    hi.start();
    try {
        Thread.sleep(500);
    } catch (InterruptedException e) {

        e.printStackTrace();
    }
    lo.stop();
    hi.stop();

    try {
        hi.t.join();
        lo.t.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println("LO: "+lo.click);
    System.out.println("HI: "+hi.click);
 }  
}

Ответы на вопрос(2)

Ваш ответ на вопрос