Чтобы создать поток, нужно создать класс и унаследовать его от класса Thread
public class ThreadExample extends Thread {
// В классе нужно переопределить метод run()
// В методе содержится логика, которую поток будет выполнять
@Override
public void run() {
// Метод getName() выводит имя потока
System.out.println("Thread " + getName());
}
}
public class Example {
public static void main(String[] args) {
// Создадим 5 потоков в цикле
for (int i = 0; i < 5; i++) {
// Создаём экземпляр потока
ThreadExample thread = new ThreadExample();
// Запускаем поток при помощи метода start()
// После этого начинает выполняться метод run() потока
thread.start();
}
}
}
Вывод
// => Thread Thread-2
// => Thread Thread-1
// => Thread Thread-0
// => Thread Thread-3
// => Thread Thread-4
Метод thread.join()
Метод thread.join() останавливает выполнение текущего потока до тех пор, пока указанный поток не прекратит работу (или не будет прерван)
public class Example1 {
public static void main(String[] args) {
// Создается новый поток JoinThread
Thread thread = new JoinThread();
// Запускается поток
thread.start();
// Основной поток приостанавливается на 1000 миллисекунд
try {
Thread.sleep(1: 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Breakpoint 1");
// Основной поток ожидает завершения потока thread
// Выполнение основного потока приостанавливается до тех пор, пока thread не выполнится полностью
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Breakpoint 2");
}
}
Порядок выполнения будет следующим:
- Запускается поток thread
- Основной поток приостанавливается на 1 секунду
- Затем ждет завершения выполнения thread
- После завершения выполнения thread продолжается выполнение основного потока, выводя "Breakpoint 2".
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.