English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Разница между нитями и runnable в Java

Есть два способа создать новый поток выполнения. Один из них - объявить класс как подкласс Thread. Этот подкласс должен переопределить метод run класса Thread. Затем можно分配 и запустить экземпляр этого подкласса.

Другой способ создания потока - это声明 класс, реализующий интерфейс Runnable. Затем этот класс реализует метод run. Затем можно分配 экземпляр этого класса, передать его в качестве параметра при создании Thread и запустить.

У каждого потока есть имя для идентификации. Возможны несколько потоков с одинаковыми именами. Если при создании потока не указать имя, то ему будет присвоено новое имя.

НомерКлючЛинияRunnable
1
Основные 
Поток - это класс. Используется для создания потоков 
Runnable - это функциональный интерфейс, используемый для создания потоков 
2
Методы
У него есть несколько методов, включаяstart()иrun()
У него есть только абстрактный метод run()
3
 Каждый поток создает уникальный объект и связан с ним
Множественные потоки.shared object.
4
Память 
Необходимее больше памяти 
Необходимее количество памяти 
5
Ограничения 
В Java не разрешается多重ное наследование, поэтому после расширения класса Thread класс не может расширять другой класс
Если класс реализует интерфейсRunnable, то ваш класс может расширять другой класс.

Пример 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();
   }
}
Вам может понравиться