Загружаем изображение…
Thread в Java — как запустить код параллельно?
Thread — это поток выполнения внутри процесса. С его помощью можно выполнять несколько задач одновременно.
Самый простой вариант — создать Thread и передать ему Runnable:
Важно: start() и run() — не одно и то же.
start() создаёт новый поток и уже в нём вызывает run().
А если написать:
новый поток не создастся — код выполнится в текущем потоке.
Можно создать поток и через наследование:
Но на практике чаще используют Runnable, Callable и ExecutorService, а не создают Thread напрямую.
Например:
Главная идея: Thread — это поток, а ExecutorService позволяет удобно управлять пулом потоков и задачами.
Thread — это поток выполнения внутри процесса. С его помощью можно выполнять несколько задач одновременно.
Самый простой вариант — создать Thread и передать ему Runnable:
Thread thread = new Thread(() -> {
System.out.println("Работаем в отдельном потоке");
});
thread.start();
Важно: start() и run() — не одно и то же.
start() создаёт новый поток и уже в нём вызывает run().
А если написать:
thread.run();
новый поток не создастся — код выполнится в текущем потоке.
Можно создать поток и через наследование:
class MyThread extends Thread {
@Override
public void run() {
System.out.println("Hello from thread");
}
}
new MyThread().start();
Но на практике чаще используют Runnable, Callable и ExecutorService, а не создают Thread напрямую.
Например:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> {
System.out.println("Task executed");
});
executor.shutdown();
Главная идея: Thread — это поток, а ExecutorService позволяет удобно управлять пулом потоков и задачами.
Просмотры: 27