Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa Thread và Runnable trong Java

Có hai cách để tạo một luồng thực thi mới. Một là khai báo một lớp là một lớp con của lớp Thread. Lớp con này sẽ ghi đè phương thức chạy của lớp Thread. Sau đó, một phiên bản của lớp con có thể được cấp phát và bắt đầu.

Cách khác để tạo một luồng là khai báo một lớp thực hiện giao diện Runnable. Lớp đó sau đó thực hiện phương thức run. Sau đó, một thể hiện của lớp có thể được cấp phát, chuyển làm đối số khi tạo Luồng và bắt đầu.

Mỗi luồng có một tên cho mục đích nhận dạng. Nhiều chủ đề có thể có cùng tên. Nếu một tên không được chỉ định khi một chuỗi được tạo, thì một tên mới sẽ được tạo cho nó.

Sr. Không. Phím Chủ đề Runnable
1
Cơ bản
Luồng là một lớp. Nó được sử dụng để tạo một chuỗi
Runnable là một giao diện chức năng được sử dụng để tạo một chuỗi
2
Phương thức
Nó có nhiều phương thức bao gồm start () và run ()
Nó chỉ có phương thức trừu tượng run ()
3
Mỗi luồng tạo ra một đối tượng duy nhất và được liên kết với nó
Nhiều luồng chia sẻ các đối tượng giống nhau.
4
Bộ nhớ
Cần thêm bộ nhớ
Yêu cầu ít bộ nhớ hơn
5
Giới hạn
Multiple Inheritance không được phép trong java do đó sau khi một lớp mở rộng lớp Thread, nó không thể mở rộng bất kỳ lớp nào khác
Nếu một lớp đang triển khai giao diện chạy được thì lớp của bạn có thể mở rộng một lớp khác.

Ví dụ về 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();
   }
}

Ví dụ về Chủ đề

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();
   }
}