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