Wątki na osobnych rdzeniach.

0

Witam, mam takie pytanko. Jak stworzę klasę rozszerzającą Runnable

public class Test implements Runnable{



    @Override
    public void run() {
        // Coś tam się dzieje
    }

I stworzę drugą w której będę odpalał dwa wątki.

public class SuperTest {
    public static void main(String[] arg){
        long start=134217727L;
        Test tw = new Test();
        Thread t1=new Thread(tw);
        Test tw2 = new Test();
        Thread t2=new Thread(tw2);
        t1.start();
        t2.start();
    }
}

To jeśli posiadam procesor dwu lub więcej rdzeniowy to te dwa wątki będą wykonywane równocześnie na obu rdzeniach, prawda? Czy może będą naprzemiennie wykonywane na jednym rdzeniu a by były wykonywane równocześnie na dwóch rdzeniach trzeba je jakoś inaczej uruchomić?

2

System operacyjny zadecyduje na którym rdzeniu/procesorze i kiedy wykona się dany wątek.

2

Od wielu już lat wątki w Javie są tylko wrapperem (z niewielką własną logiką) na wątkach systemowych. To jak zostanie wykonany dany kod decyduje system operacyjny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1