Avatar billede mercutio Nybegynder
20. februar 2003 - 13:08 Der er 2 kommentarer og
2 løsninger

Tråde og prioritet....

Virker det med at sætte prioriteten på tråde i den nyeste java virtual machine? den bliver kørt på en windows maskine.
Avatar billede magoo20000 Nybegynder
20. februar 2003 - 13:41 #1
Avatar billede ulrikm Nybegynder
20. februar 2003 - 16:18 #2
Jep. Jeg har dog selv kun brugt Thread.MIN_PRIORITY, Thread.NORM_PRIORITY og Thread.MAX_PRIORITY som anbefales af platformsuafhængige årsager. Har du problemer med at få det til at virke?
Avatar billede viht Nybegynder
20. februar 2003 - 18:57 #3
Dette giver et rimelig godt billede af det:
public class TestThreads {
   
    public TestThreads(int id, int priority) {
        MyThread t = new MyThread(id);
        t.setPriority(priority);
        t.start();
    }   
    private class MyThread extends Thread {
       
        private int id;
        private int work = 1000000;
       
        public MyThread(int id) {
            this.id = id;
        }
       
        public void run() {
            long start = System.currentTimeMillis();
            while( !interrupted() && work >= 0) {
                work--;
                if( work == 0)
                    System.out.println ("Thread nr: " +id+ " is done! Time: " +(System.currentTimeMillis()-start));
            }
        }
    }
}

class TestIt {
    public static void main(String[] args) {
        new TestThreads(1, Thread.MIN_PRIORITY);
        new TestThreads(2, Thread.NORM_PRIORITY);
        new TestThreads(3, Thread.MAX_PRIORITY);
    }
}
Avatar billede viht Nybegynder
20. februar 2003 - 21:42 #4
Microsoft Windows XP [version 5.1.2600]
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)

Test med work sat til: 10000000.
Thread nr: 3 is done! Time: 2793
Thread nr: 2 is done! Time: 5587
Thread nr: 1 is done! Time: 5438

Der er meget lidt, hvis ingen forskel på den mindste prioritet og den normale prioritet. Max prioriteten får dog 50% mere cpu tid end de andre.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester