Trong bài viết này, chúng ta sẽ tìm hiểu sự khác biệt giữa Thread Class và Runnable Interface.
Thread (Class)
- Là một class
- Dùng để tạo thread
- Nhiều method: start(), run(), ...
- Tốn nhiều bộ nhớ hơn
- Vì Java không hỗ trợ đa kế thừa → class extends Thread thì KHÔNG extends class khác được
- Mỗi thread tạo object riêng và gắn với nó
Runnable (Functional Interface)
- Là functional interface
- Dùng để tạo thread
- Chỉ có 1 abstract method: run()
- Tốn ít bộ nhớ hơn
- Class implements Runnable vẫn có thể extends class khác
- Nhiều thread có thể chia sẻ cùng một object