Головна‎ > ‎Java‎ > ‎Додатково‎ > ‎

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

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 nyka");

               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
...