/ / Розуміння ниток у java - java, multithreading

Розуміння ниток у java - java, багатопоточність

Я абсолютно нова в поняттях потоків в JAVAі хоча я спробував пару кодів, і вони працюють, я дійсно не розумію, що відбувається у фоновому режимі. Наприклад, я написав цей фрагмент коду:

public class myThreadTest implements Runnable {
private static void ping(String text, int count)
throws InterruptedException {
for (int i = 0; i<count; i++) {
System.out.println("ping "+text+i+"...");
Thread.sleep(1000);
}
}
public void run() {
try {
ping("run ",10);
} catch (InterruptedException e) {
}
}
public static void main(String[] args) {
(new Thread(new myThreadTest())).start();
try {
ping("main ", 5);
} catch (InterruptedException e) {
}
}
}

чи виконуються тут 2 потоки: один працює з основного, а інший - із запуску методу? Оскільки результат, який я отримую, головний, запустити, основний, запустити, запустити, основний ... щось подібне.

Відповіді:

3 для відповіді № 1

Так, обидва виконують одночасно.

Потік - це потік виконання програми. Віртуальна машина Java дозволяє програмі одночасно виконувати кілька потоків виконання.

Я дуже рекомендую це документи перш ніж починається кодування. добрий везіння


2 для відповіді № 2

Нитки в Java в основному пов'язані з одночасністю, що є поняттям кількох речей, що відбуваються одночасно. Нитка - це самостійний шлях виконання в межах програми.

З вашої програми я бачу, як починається ваш коддва потоки при запуску виконуючи першу команду для циклу сплячого протягом 1 секунди, а потім запустити метод запуску і назад і вперед, поки цикл for не вичерпається, тому запуск продовжується до 9


2 для відповіді № 3

Це правильно. Спробуйте надрукувати ідентифікатор теми в твоїй ping() метод, щоб побачити, що різні потоки запущені (ви також можете назвати свої теми, і я дотримуюся цього як практика, щоб я зрозумів, який потік робить, що)


0 для відповіді № 4

Є дві нитки. Один з потоків створюється і починає виконувати його run метод асинхронно за рахунок start дзвінок в основний блок. Інший потік виконує main Сам метод.