01/10/2018, 08:14

Cho em hỏi về thread trong java với ạ


Cho em hỏi là tại sao khi truyền yourthread vào lúc khởi tạo cái thread1 và thread2 khi chạy nó lại sử dụng
hàm run của class Yourthread vậy ạ, em nghĩ nó phải sử dụng hàm run mặc định của class Thread chứ. Em chưa hiểu cách truyền như thế này lắm.
Em cám ơn ạ

Pete Houston viết 10:23 ngày 01/10/2018

Thì nôm na code của Thread nó thế này:

class Thread {

	private Runnable _runnable;
	private String _name;
	
	public Thread(Runnable r) {
		this._runnable = r;
	}

	public void setName(String name) {
		this._name = name;
	}

	public void start() {
		this._runnable.run();
	}
}

Runnable chỉ là một interface, khi sử dụng phải tạo một implementation để sử dụng.

Đây là tính đa hình, Polymorphism trong lập trình hướng đối tượng. Tham khảo thêm khoá học để biết thêm chi tiết:

https://kodemate.com/series/phat-trien-tu-duy-lap-trinh-huong-doi-tuong-voi-java

Nguyễn Tuấn Anh viết 10:15 ngày 01/10/2018

bạn ghi đè rồi thì nó phải chạy cái yourthread chứ

Bài liên quan
0