-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Как создавать потоки:
Можно создать поток, расширив класс Thread или реализовав интерфейс Runnable. Вот как это делается:
С помощью Thread:
С помощью Runnable:
Управление потоками:
Можно управлять состоянием потоков с помощью методов join() и sleep().
Пример с join():
Использование потоков с ExecutorService:
Для более сложного управления потоками можно использовать ExecutorService. Это позволяет эффективно управлять пулом потоков.
Можно создать поток, расширив класс Thread или реализовав интерфейс Runnable. Вот как это делается:
С помощью Thread:
Код:
class MyThread extends Thread { public void run() { System.out.println("Это поток!"); } }
public class Main { public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); } }
Код:
class MyRunnable implements Runnable { public void run() { System.out.println("Это Runnable поток!"); } }
public class Main { public static void main(String[] args) { Thread thread = new Thread(new MyRunnable()); thread.start(); } }
Можно управлять состоянием потоков с помощью методов join() и sleep().
Пример с join():
Код:
public class Main { public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(() -> { System.out.println("Поток работает!"); }); thread.start(); thread.join(); // Ждем, пока поток завершится System.out.println("Поток завершен!"); } }
Для более сложного управления потоками можно использовать ExecutorService. Это позволяет эффективно управлять пулом потоков.
Код:
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;
public class Main { public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(3); for (int i = 0; i < 5; i++) { final int taskId = i; executor.submit(() -> { System.out.println("Задача " + taskId + " выполняется."); }); } executor.shutdown(); } }