Багатонитковість

1. Аби ПК міг одразу робити кілька справ: програвати відео, редагувати текст, відобр. сайт

2. Аби швидше робити якусь здачу в кількох нитках

3. Нитки ідентичні головній нитці 

4. Нитки ніяк не синхронізовані між собою

5. Java очікує, доки усі нитки не завершать роботу

Спосіб 1

public class Main {

     public static void main(String[] args){

          Thread nytka1 = new Thread(new Nytka());

          nytka1.start();

     }

}

class Nytka implements Runnable {

     public void run() {

          for (int i = 0; i < 100; i++) {

               System.out.println("Nytka 2");

  

               try {

                    Thread.sleep(1000);    // мс, статичний метод

               } catch (InterruptedException e) { 

                    e.printStackTrace();

               }

          }

     }

}

Nytka2

Nytka2

Nytka2

Nytka2

Nytka2

...

Спосіб 2

public class Main {

     public static void main(String[] args){

          Nytka nytka1 = new Nytka();

          nytka1.start();

          for (int i = 0; i < 100; i++) {

               System.out.println("Holovna nytka");

               try {

                    Thread.sleep(1);    // мс, статичний метод

               } catch (InterruptedException e) {

                    e.printStackTrace();

               }

          }

     }

}

class Nytka extends Thread {

     public void run() {

          for (int i = 0; i < 100; i++) {

               System.out.println("Nytka 2");

 

               try {

                    Thread.sleep(1);

               } catch (InterruptedException e) {

                    e.printStackTrace();

               }

          }

     }

}

Holovna nyka

Nytka 2

Holovna nyka

Nytka 2

Nytka 2

Holovna nyka

Nytka 2

Holovna nyka

Nytka 2

...