 |
|
Tạo luồng từ lớp
Thread trong Java |
|
Ngoài việc tạo luồng (thread) bằng cách thi công
giao diện Runnable như đã trình bày trong bài trước,
bạn còn có thể tạo luồng để hiển thị hình ảnh trong
chương trình Slide Show bằng cách kế thừa từ lớp
Thread có sẵn trong Java. Bạn hãy chép đoạn mã 1,
biên dịch và chạy thử để xem kết quả trên màn hình
ra sao (H1). Qua đoạn mã 1, bạn cũng cần chú ý kỹ
thuật đồng bộ đa luồng (multi-thread
synchronization) trong Java. |
Đoạn mã 1
// ThreadSync.java
class MyThread extends Thread {
static String message[]={"I","love","Java."};
public MyThread(String id) {
// Gọi hàm dựng (constructor) của lớp Thread cha
super(id);
}
public void run() {
Sync.displayList(getName(), message);
}
void waiting() {
try {
sleep(2000);
}
catch(InterruptedException e){
System.out.println("Interrupted");
}
}
};
class Sync {
public static synchronized void displayList(String
name, String list[]) {
/* Nếu không dùng từ khóa synchronized thì sẽ không
đảm bào một luồng làm xong hết công việc của nó
rồi một luồng khác mới được bắt đầu chạy.
*/
for (int i=0; i< list.length; ++i) {
MyThread thread = (MyThread)Thread.currentThread();
// Hàm waiting đã định nghĩa ở trên
thread.waiting();
System.out.println(name + list[i]);
}
}
};
public class ThreadSync {
public static void main(String args[]) {
MyThread thread1 = new MyThread("Thread 1: ");
MyThread thread2 = new MyThread("Thread 2: ");
thread1.start(); // Hàm run của thread1 được gọi
thread2.start(); // Hàm run của thread2 được gọi
}
}; |
|
 |
Đoàn Nguyễn Minh Tuệ
NIIT Hoasen Faculty |
|
Đầu
trang |
|