Я новичок в темах.Я прочитал статью из https://www.math.uni -hamburg.de / doc / java / tutorial / essential / threads / definition.html
"Поток - это один последовательный поток управления впрограмма «.Это все еще неосязаемо для меня, было бы очень полезно, если бы кто-то мог привести другой пример и объяснить больше.
Затем я провожу некоторые примеры со следующим кодом.
class SimpleThread extends Thread {
public SimpleThread(String str) {
super(str);
}
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i + " " + getName());
try {
# sleep((int)(Math.random() * 1000));
/* I have changed Math.random() to 0.5 so that all will sleep with same amount of time */
sleep((int)(0.5 * 1000));
} catch (InterruptedException e) {}
}
System.out.println("DONE! " + getName());
}
}
class ThreeThreadsTest {
public static void main (String[] args) {
new SimpleThread("Jamaica").start();
new SimpleThread("Fiji").start();
new SimpleThread("Bora Bora").start();
}
}
ВОсновная функция ThreeThreadsTest, три потока создаются один за другим, результат должен выглядеть следующим образом:
0 Ямайка
0 Фиджи
0 Бора-Бора
1 Ямайка
1 Фиджи
1 Бора-Бора
2 Ямайка
2 Фиджи
2 Бора-Бора ...
но вместо этого результат такой:
0 Ямайка
0Бора Бора
0 Фиджи
1 Ямайка
1 Бора Бора
1 Фиджи
2 Ямайка
2 Фиджи
2 Бора Бора
3 Ямайка
3 Фиджи
3 Бора-Бора
4 Бора-Бора
4 Ямайка
4 Фиджи
5 Бора-Бора
5 Ямайка
5 Фиджи
6 Бора-Бора
6 Ямайка
6 Фиджи
7 Бора-Бора
7 Фиджи
7 Ямайка
8 Бора-Бора
8 Ямайка
8 Фиджи
9 Бора-Бора
9 Фиджи
9Ямайка
СДЕЛАННЫЙ!Фиджи
СДЕЛАНО!Бора Бора
СДЕЛАНО!Ямайка
Может кто-нибудь объяснить, почему это произойдет?