Új hozzászólás Aktív témák

  • loszerafin

    senior tag


    class Odd {
    static boolean end = false;

    static class Szamol1 implements Runnable {
    static long num=0;

    public synchronized void run() {
    while(!end){
    num+=2;
    }
    }
    }

    static class Szamol2 implements Runnable {
    static long num=1;

    public synchronized void run() {
    while(!end){
    num+=2;
    }
    }
    }



    public static void main(String[] args)
    throws InterruptedException{
    Thread t1 = new Thread(new Szamol1());
    Thread t2 = new Thread(new Szamol2());

    t1.start();
    t2.start();

    Thread.sleep(50000);
    end = true;

    t1.join();
    t2.join();

    System.out.println(''Vége'');
    }

    }


    Nekem ez linuxon mindkét processzoron fut, összesen 194%-al.
    Egyik szál a páros számokon lépked végig, másik szál a páratlanokon.
    A harmadik szál meg várakozik.

    A ''változó regiszterben tartásáról'': szerintem ez annyira Java-idegen gondolat, hogy meglepődnék, ha lenne ilyen.
    Ha ilyen kis nüanszokon múlik a sebesség, akkor inkább a változó típusok meggondolt használatával de főleg az adatszerkezetek és algoritmusok átgondolásával lehetne gyorsítani. Vagy gyorsabb processzorral.

Új hozzászólás Aktív témák