Назад к вопросам
Senior
4
Как создать поток в Java? Какие методы есть для создания и запуска?
Компании, где спрашивали
ИП Ганус Александр Андреевич
Ответ от нейросети
sobes.tech AI
В Java создать поток (поток выполнения) можно несколькими способами:
- Наследование от класса Thread
class MyThread extends Thread {
public void run() {
System.out.println("Поток запущен");
}
}
MyThread t = new MyThread();
t.start(); // запускает поток, вызывает run() в новом потоке
- Реализация интерфейса Runnable
class MyRunnable implements Runnable {
public void run() {
System.out.println("Поток запущен");
}
}
Thread t = new Thread(new MyRunnable());
t.start();
- Использование лямбда-выражения (Java 8+)
Thread t = new Thread(() -> System.out.println("Поток запущен"));
t.start();
- Использование ExecutorService (рекомендуемый способ для управления потоками)
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> System.out.println("Поток через ExecutorService"));
executor.shutdown();
Основные методы для управления потоком:
start()— запускает поток, вызывает методrun()в новом потоке.run()— содержит код, который выполняется в потоке; вызывается автоматически послеstart(), не рекомендуется вызывать напрямую.join()— ожидает завершения потока.sleep(long millis)— приостанавливает выполнение текущего потока на заданное время.
Важно: всегда использовать start() для запуска нового потока, чтобы код выполнялся параллельно, а не в текущем потоке.