Runnable về cơ bản là một loại lớp (Runnable là một Giao diện) có thể được đưa vào một luồng, mô tả những gì mà luồng phải làm.
Các giao diện Runnable đòi hỏi của lớp để thực hiện phương pháp này run()
như sau:
public class MyRunnableTask implements Runnable {
public void run() {
// do stuff here
}
}
Và sau đó sử dụng nó như thế này:
Thread t = new Thread(new MyRunnableTask());
t.start();
Nếu bạn không có Runnable
giao diện, lớp Thread, lớp chịu trách nhiệm thực thi nội dung của bạn trong luồng khác, sẽ không có lời hứa tìm một run()
phương thức trong lớp của bạn, vì vậy bạn có thể gặp lỗi. Đó là lý do tại sao bạn cần triển khai giao diện.
Nâng cao: Loại ẩn danh
Lưu ý rằng bạn không cần phải xác định một lớp như bình thường, bạn có thể thực hiện tất cả nội tuyến đó:
Thread t = new Thread(new Runnable() {
public void run() {
// stuff here
}
});
t.start();
Điều này tương tự như trên, chỉ là bạn không tạo một lớp có tên khác.