Создание потоков Java: примеры и методы

Вот пример создания потока в Java:

public class MyThread extends Thread {
    public void run() {
        // Code to be executed in the thread
        System.out.println("Thread is running!");
    }
    public static void main(String[] args) {
        MyThread thread = new MyThread();
        thread.start();
    }
}

В этом примере мы создаем класс MyThread, который расширяет класс Thread. Метод runсодержит код, который будет выполнен при запуске потока. В этом случае он просто печатает «Поток запущен!» на консоль. Метод mainсоздает экземпляр MyThreadи вызывает метод startдля запуска потока.

Вот еще несколько способов создания потоков в Java:

  1. Реализация интерфейса Runnable:

    public class MyRunnable implements Runnable {
    public void run() {
        // Code to be executed in the thread
        System.out.println("Thread is running!");
    }
    public static void main(String[] args) {
        MyRunnable runnable = new MyRunnable();
        Thread thread = new Thread(runnable);
        thread.start();
    }
    }
  2. Использование платформы ExecutorService:

    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    public class MyTask implements Runnable {
    public void run() {
        // Code to be executed in the thread
        System.out.println("Thread is running!");
    }
    public static void main(String[] args) {
        ExecutorService executor = Executors.newSingleThreadExecutor();
        executor.execute(new MyTask());
        executor.shutdown();
    }
    }
  3. Использование CompletableFutureJava 8:

    import java.util.concurrent.CompletableFuture;
    public class MyTask {
    public static void main(String[] args) {
        CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
            // Code to be executed in the thread
            System.out.println("Thread is running!");
        });
        future.join();
    }
    }