English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Есть два способа создать новый поток выполнения. Один из них - объявить класс как подкласс Thread. Этот подкласс должен переопределить метод run класса Thread. Затем можно分配 и запустить экземпляр этого подкласса.
Другой способ создания потока - это声明 класс, реализующий интерфейс Runnable. Затем этот класс реализует метод run. Затем можно分配 экземпляр этого класса, передать его в качестве параметра при создании Thread и запустить.
У каждого потока есть имя для идентификации. Возможны несколько потоков с одинаковыми именами. Если при создании потока не указать имя, то ему будет присвоено новое имя.
Номер | Ключ | Линия | Runnable |
---|---|---|---|
1 | Основные | Поток - это класс. Используется для создания потоков | Runnable - это функциональный интерфейс, используемый для создания потоков |
2 | Методы | У него есть несколько методов, включаяstart() иrun() | У него есть только абстрактный метод run() |
3 | Каждый поток создает уникальный объект и связан с ним | Множественные потоки.shared object. | |
4 | Память | Необходимее больше памяти | Необходимее количество памяти |
5 | Ограничения | В Java не разрешается多重ное наследование, поэтому после расширения класса Thread класс не может расширять другой класс | Если класс реализует интерфейсRunnable, то ваш класс может расширять другой класс. |
class RunnableExample implements Runnable{ public void run(){ System.out.println("Thread is running for Runnable Implementation"); } public static void main(String args[]){ RunnableExample runnable = new RunnableExample(); Thread t1 = new Thread(runnable); t1.start(); } }
class ThreadExample extends Thread{ public void run(){ System.out.println("Thread is running"); } public static void main(String args[]){ ThreadExample t1 = new ThreadExample(); t1.start(); } }