Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpThCr 161 of 322 menu
◀ ▶

Создание потока в Java

Поток в Java - это объект, которому нужно описать, что выполнять. Есть два привычных способа: унаследовать Thread и переопределить run или передать реализацию Runnable в конструктор Thread.

Наследование от Thread подходит для учебных примеров, но в прикладном коде чаще берут Runnable: задача отделена от механизма запуска, её проще тестировать и передавать в пул потоков.

Класс-потомок Thread с переопределённым run:

class CounterThread extends Thread { @Override public void run() { System.out.println("from " + getName()); } }

Тот же смысл через Runnable и конструктор Thread:

Runnable task = () -> System.out.println("from worker"); Thread worker = new Thread(task, "worker");

Имя потока задают вторым аргументом конструктора или методом setName. Оно помогает читать логи и отлаживать гонки.

Полный запуск с двумя способами создания (пока без ожидания, только создание объектов):

class CounterThread extends Thread { @Override public void run() { System.out.println("from " + getName()); } } public class Main { public static void main(String[] args) { Thread byExtend = new CounterThread(); byExtend.setName("extend"); Runnable task = () -> System.out.println("runnable task"); Thread byRunnable = new Thread(task, "runnable"); System.out.println(byExtend.getName()); System.out.println(byRunnable.getName()); } }

Создайте Thread с лямбдой, которая выводит "ready", и задайте имя "prep". В main выведите это имя, не вызывая пока start().

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить