Khỏi niệm thread

Một phần của tài liệu Bài giảng ngôn ngữ lập trình Java doc (Trang 134 - 135)

I.1 Khỏi niệm:

Thread – luồng chỉ một đơn vị chương trỡnh cú thể tỏch khỏi cỏc phần khỏc của chương trỡnh để thực hiện song song với cỏc phần khỏc ở từng khoảng thời gian hoặc trong toàn bộ quỏ trỡnh nú thực hiện.

Trong mỗi chương trỡnh Java, cú một luồng chớnh được bắt đầu bằng việc gọi hàm main(), cỏc luồng khỏc cú thể phỏt sinh từ luồng chớnh này. Cỏc cõu lệnh trong hàm main() nếu khụng được đưa vào một luồng riờng thỡ sẽ được thực hiện tuần tự.

I.2. Lớp Thread

Lớp Thread trong gúi java.lang cú một số constructor: Public Thread (<tờn thread>)

Public thread(): Khi này thread sẽ cú tờn là Thread_1, Thread_2,….

Cỏc cụng việc của một thread được đặt trong phương thức run(). Phương thức này cú thể được khai bỏo chồng trong lớp khai bỏo kế thừa Thread hoặc khai bỏo cài đặt giao diện Runable.

Người lập trỡnh bắt đầu một thread bằng cỏc gọi phương thức start(), phương thức start() sau đú sẽ gọi run(). Sau khi start() thực hiện xong, nú trả về điều khiển cho chương trỡnh gọi nú. Do đú, chương trỡnh gọi nú và thread được thực hiện một cỏch đồng thời.

• Phương thức start() sẽ nộm ra một ng oại lệ IllegalThreadStateException nếu thread cần bắt đầu đó bắt đầu rồi.

• Phương thức tĩnh sleep của Thread được gọi với một tham số xỏc định rằng một thread đang chạy sẽ dừng lại trong bao lõu theo đơn vị phần nghỡn giõy. Trong khi một thread “sleep”, nú sẽ khụng tiờu tốn tài nguyờn CPU và thread khỏc cú thể chạy.

• Phương thức interrupt() được gọi để để ngắt một thread. Phương thức này trả về true nếu ngắt thành cụng. Phương thức isInterrupted() dựng để kiểm tra xem thread cú bị ngắt hay khụng.

• Phương thức isAlive() trả về true nếu start() đó được gọi và phương thức run() vẫn đang thực hiện.

• Phương thức setName() đặt tờn cho một thread, getName() lấy tờn một thread. Phương thức toString() trả về tờn phương thức, độ ưu tiờn và nhúm của thread. • Phương thức static currentThread() trả về tham chiếu tới thread hiện hành đang

thực hiện.

• Phương thức joint đợi (wait) một phản hổi của một thụng điệp được gửi đi trước khi thực hiện thread.

I.3 Cỏc bước để tạo một thread

1. Khai bỏo một lớp cú cài đặt giao diện Runable với phương thức run() được định nghĩa: class MyRunnable implements Runnable

{

public void run() {

// code thực hiện }

}

2. Tạo một đối tượng của lớp Runnable r = new MyRunnable();

3. Tạo một đối tượng Thread từ đối tượng Runable trờn: Thread t = new Thread(r);

4. Gọi phương thức start() t.start();

Một thread cũng cú thể được tạo ra bằng cỏch xõy dựng một lớp con của lớp Thread: class MyThread extends Thread

{

public void run() {

// code của thread }

}

Sau đú ta cũng làm theo cỏc bước 2,3 và 4 để thực hiện thread.

Một phần của tài liệu Bài giảng ngôn ngữ lập trình Java doc (Trang 134 - 135)