¿La prioridad del hilo no funciona como se esperaba?

Hice un programa usando la prioridad de subproceso y obtuve el mismo número de clics para ambos subprocesos con prioridad 1 y subproceso con prioridad 10, es confuso por qué estoy recibiendo esto

class clicker implements Runnable {
    int click = 0;
    Thread t;
    private volatile boolean running = true;
    public 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(1);
        clicker lo = new clicker(10);
        lo.start();
        hi.start();
        try {
            Thread.sleep(10000);
        } 
        catch (InterruptedException e) {
            System.out.println("Main thread interrupted.");
        }
        lo.stop();
        hi.stop();
        // Wait for child threads to terminate.
        try {
            hi.t.join();
            lo.t.join();
        } catch (InterruptedException e) {
            System.out.println("InterruptedException caught");
        }
        System.out.println("Low-priority thread: " + lo.click);
        System.out.println("High-priority thread: " + hi.click);
    }
}

la salida es casi la misma independientemente de la prioridad

Low-priority thread: 322141133
High-priority thread: 477591649

Respuestas a la pregunta(2)

Su respuesta a la pregunta