Багатонитковість
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
...